我有几个CSV文件,其中包含有关不同用户的信息。每个文件都有3或4列,第一行是标题,下面是相应的信息。如:
Username FirstName LastName Occupation
JSmith12 John Smith Staff
有些列无序或丢失了一半的CSV文件,所以我不能简单地执行 row.split(',')[0] 获取所有CSV文件中的所有用户名。
我的问题是:如何通过标题标题而不是按行来获取和读取所有列信息。
答案 0 :(得分:1)
$ cat test.csv
Username,FirstName,LastName,Occupation
JSmith12,John,Smith,Staff
$ python
>>> import csv
>>>
>>> with open("test.csv") as f:
... reader = csv.DictReader(f)
... for row in reader:
... print(row)
...
{'Username': 'JSmith12', 'LastName': 'Smith', 'FirstName': 'John', 'Occupation': 'Staff'}
每个row
都是一个字典,其中的密钥是从csv文件头中提取的。
答案 1 :(得分:0)
Python标准库中的csv
library包含一个名为DictReader
的类,可以执行您想要的操作。