我希望有人能帮助我解决这个问题。我从 Django 中的表单获取一个文件,该文件是 csv,我尝试使用 Python 库 csv 读取它。这里的问题是,当我应用函数 csv.reader 并将该结果转换为列表以便打印它时,我发现 csv.reader 不是正确分割我的文件。 这是一些显示问题的图片
正如您在图片中看到的,它似乎正在逐个字符地分割我的文件,但有一些异常(exception)。 我感谢您为我提供的任何帮助。
最佳答案
如果您从 Web 表单中提取数据,请尝试将 csv 作为字符串获取,在打印或调试工具中确认结果正确,然后使用 StringIO 将其传递给 csv。
from io import StringIO
import csv
csv_string = form.files['carga_cie10'].file_read().decode(encoding="ISO-88590-1")
csv_file = StringIO(csv_string)
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
print(row)
您可以尝试的另一件事是将 lineterminator
参数更改为 csv.reader()
。它可以默认为 \r\n
但 Web 表单可能使用其他值。检查从 Web 表单获取的字符串进行确认。
关于python - 从 Django Web 表单解析 csv 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54857045/