我有幾個CSV文件,其中包含有關不同用戶的信息。每個文件都有3或4列,第一行是標題和下面的相應信息。如:按標題解析CSV文件
Username FirstName LastName Occupation
JSmith12 John Smith Staff
一些列的順序錯誤或CSV的一半丟失的文件,所以我不能簡單地做row.split(「」)[0]讓所有的所有CSV文件中的用戶名。
這裏我的問題是:我將如何能夠通過標題標題而不是按行讀取和讀取所有列信息。
我有幾個CSV文件,其中包含有關不同用戶的信息。每個文件都有3或4列,第一行是標題和下面的相應信息。如:按標題解析CSV文件
Username FirstName LastName Occupation
JSmith12 John Smith Staff
一些列的順序錯誤或CSV的一半丟失的文件,所以我不能簡單地做row.split(「」)[0]讓所有的所有CSV文件中的用戶名。
這裏我的問題是:我將如何能夠通過標題標題而不是按行讀取和讀取所有列信息。
考慮使用該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文件頭中提取的字典。
Python標準庫中的csv
library包含一個名爲DictReader
的類,它可以實現您想要的功能。
謝謝。但是,我怎樣才能一次讀一列?我嘗試打印行['用戶名'],它給了我所有的用戶名,但也給我一個回溯錯誤。此外,當我嘗試佔領時,它不打印任何東西,但另一個錯誤 – deaddeaddeads