按标题标题

时间:2016-04-29 02:42:06

标签: python csv

我有几个CSV文件,其中包含有关不同用户的信息。每个文件都有3或4列,第一行是标题,下面是相应的信息。如:

Username  FirstName  LastName  Occupation
JSmith12  John       Smith     Staff

有些列无序或丢失了一半的CSV文件,所以我不能简单地执行 row.split(',')[0] 获取所有CSV文件中的所有用户名。

我的问题是:如何通过标题标题而不是按行来获取和读取所有列信息。

2 个答案:

答案 0 :(得分:1)

使用DictReader class

$ 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的类,可以执行您想要的操作。