Django CSV文件上传管理
django csv file upload managing
def createlist(request):
if request.method == 'POST':
files = request.FILES['ListFile']
print(type(files))
csv_file = csv.DictReader(files)
for i in csv_file:
print(i)
return HttpResponse("ok")
这给了
类"django.core.files.uploadedfile.InMemoryUploadedFile"
_csv。错误:迭代器应该返回字符串,而不是字节(是否以文本模式打开文件?)
这里我使用ajax发布这个文件
js:
$('#form1').ajaxForm(function(data) {
alert(data) ;
});
使用编解码器。Iterdecode,我解决了它。我认为这是由于python 3.x
import codecs
def createlist(request):
if request.method == "POST":
fil = request.FILES['ListFile']
csvfile = csv.DictReader(codecs.iterdecode(fil, 'utf-8'))
for i in csv_file:
print(i)
return HttpResponse("ok")
CSV不支持UTF8。它需要对类文件对象进行编码。更多信息请参阅此处
import codecs
def createlist(request):
if request.method == "POST":
utf8_file = codecs.EncodedFile(request.FILES["ListFile"],"utf-8")
csv_file = csv.DictReader(utf8_file)
for i in csv_file:
print(i)
return HttpResponse("ok")
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- Connect资产管理器文件与req.url不匹配
- Django-开发服务器不提供管理静态文件
- 如何获得用户's在wso2api管理器中的配置文件
- 管理web组件的依赖关系;JS、CSS/SASS和模板文件
- 管理多个JS文件的简单方法
- Cordova创建的文件不会显示在Windows资源管理器中,除非重新启动设备
- 使用NPM管理文件相关性
- 管理视图文件和 JS 标记
- 如何在电话间隙中打开系统文件资源管理器
- 响应式文件管理器 9 在 TinyMCE 4 中打开空白对话框
- 响应式文件管理器.防止在选择图像时模式关闭
- 应将缩小的文件提交到源代码管理中
- Elfinder文件管理器,带有多个按钮更新文本输入
- 将响应式文件管理器与创建用户会话配合使用
- 在添加页面时管理多个样式表和.js文件
- 在Mac OS上使用JavaScript控制台(JSC)管理文件系统对象
- 管理文件在云(Dropbox, GDrive)使用javascript
- 在Javascript中显示/管理文件/目录列表