繁体   English   中英

Django使用正确的编码上传和处理CSV文件

[英]Django upload and handle CSV file with right encoding

我尝试在我的Django项目中上传和处理CSV文件,但是我收到编码错误,CSV文件在带有excel的mac上创建。

reader = csv.reader(request.FILES['file'].read().splitlines(), delimiter=";")
    if withheader:
        reader.next()

data = [[field.decode('utf-8') for field in row] for row in reader]

使用此代码示例,我收到一个错误: http//puu.sh/1VmXc

如果我使用latin-1解码,我会得到另一个“错误”..

data = [[field.decode('latin-1') for field in row] for row in reader]

结果是:v¾gmontere,结果应该是:vægmontere

谁知道该怎么办? ..我已经尝试了很多!

  1. Python 2 csv模块带来了大量的unicode麻烦。 尝试使用unicodecsv或使用Python 3。
  2. Mac上的Excel导出为CSV,编码损坏。 不要使用它,使用像LibreOffice这样有用的东西(有一个更好的CSV导出选项)。
  3. 处理用户文件时:要么确保文件始终以UTF-8编码,只能解码为UTF-8(推荐)或使用chardet等编码检测库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM