一尘不染

Python正确解析CSV

python

我是Python的新手。我想解析一个csv文件,以便它可以识别带引号的值-例如

1997年,福特E350,“超级豪华卡车”

应该拆分为

(“ 1997”,“福特”,“ E350”,“超级豪华卡车”)

并不是

(“ 1997”,“福特”,“ E350”,“超级”,“豪华卡车””)

以上就是我使用类似的东西所得到的str.split(,)

我该怎么做呢?同样最好将这些值存储在数组或其他数据结构中吗?因为在我从csv获取这些值之后,我希望能够轻松选择,所以说出任意两列并将其存储为另一个数组或其他数据结构。


阅读 140

收藏
2020-12-20

共1个答案

一尘不染

以下方法效果很好

d = {}
d['column1name'] = []
d['column2name'] = []
d['column3name'] = []

dictReader = csv.DictReader(open('filename.csv', 'rb'), fieldnames = ['column1name', 'column2name', 'column3name'], delimiter = ',', quotechar = '"')

for row in dictReader:
    for key in row:
        d[key].append(row[key])

这些列存储在字典中,其中列名称为键。

2020-12-20