python - 如何使用 csv.DictReader 在 django 中上传和读取 csv 文件?

标签 python django csv

我正在通过上传读取 csv 文件并尝试将所有值存储在列表中

def upload(request):
    paramFile = request.FILES['file'].read()
    data = csv.DictReader(paramFile)
    list1 = []
    for row in data:
        list1.append(row)

    print list1

文件.csv

12345,abcdef

输出

[{'1': '', None: ['']}, {'1': '2'}]

我想附加 list1 中的所有值

最佳答案

如果您使用的是 Python 3,这应该可以工作。

file = request.FILES['file'] 
decoded_file = file.read().decode('utf-8').splitlines()
reader = csv.DictReader(decoded_file)
for row in reader:
    # Get each cell value based on key-value pair. 
    # Key will always be what lies on the first row.

我们可以使用 splitlines() 创建的列表。 splitlines() 被调用是因为 csv.DictReader 期望“任何支持迭代器协议(protocol)并在每次它的下一个时返回一个字符串的对象() 方法被调用——文件对象和列表对象都适合”。

关于python - 如何使用 csv.DictReader 在 django 中上传和读取 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24704630/

相关文章:

Python pyqtgraph 如何在图形上设置 x 和 y Axis 限制,没有自动范围

python - 使用 Django QuerySets 时使用列表理解而不是 for 循环

python - django instance.id=None 上传图片时

c++ - 将 csv 读入数组

python - 如何在 CSV Python 2.7 中仅搜索精确值?

Python "in"关键字引发 KeyError

python - 将从 .NET 导出的 CSP blob 导入到 python pyCrypto 中

python - 将列表附加到字典

HTML 导航未按预期工作

node.js - 如何在reactjs中导入csv文件并在屏幕上显示数据?