![](/img/trans.png)
[英]How to parse the contents of a .csv file into a dict while always skipping the header?
[英]Parse CSV file by header titles
我有几个 CSV 文件,其中包含有关不同用户的信息。 每个文件都有 3 或 4 列,第一行是标题和其下的相应信息。 如:
Username FirstName LastName Occupation
JSmith12 John Smith Staff
有些列在 CSV 文件的一半中乱序或丢失,因此我不能简单地执行row.split(',')[0]来获取所有 CSV 文件中的所有用户名。
我的问题是:我如何能够通过标题而不是行来获取和读取所有列信息。
查看使用DictReader
类:
$ 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 文件头中提取的。
Python 标准库中的csv
库包含一个名为DictReader
的类,它可以执行您想要的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.