查看CSV模塊。 csv.DictReader類將CSV文件行放置到字典中,並將標題行字段作爲字典鍵。但是請注意,CSV模塊將數據作爲字符串讀取,因此您可能需要進行一些類型轉換。
import csv
with open('favorite_color.csv', 'rb') as csvfile:
reader = csv.DictReader(csvfile)
data = {}
for row in reader:
for field, value in row.iteritems():
if not field in data:
data[field] = [value]
else:
data[field].append(value)
data['correct_answers'] = [int(val) for val in data['correct_answers']]
boolval = {'true': True, 'false': False}
data['cross_bridge'] = [boolval[val.lower()] for val in data['cross_bridge']
它將CSV的內容很好地放入字典中。
In [2]: data
{'correct_answers': [0, 3, 3, 2],
'cross_bridge': [False, True, True, False],
'favorite_color': ['orange', 'green', 'blue', 'yellow'],
'first_name': ['Dirk', 'King', 'Lancelot', 'Sir'],
'last_name': ['Diggler', 'Arthur', 'du Lac', 'Galahad']}
In [3]: data['cross_bridge'][0]
Out[3]: False
或者,如果你真的想每一行是一個列表,你可以使用CSV。閱讀()代替:
import csv
with open('favorite_color.csv') as csvfile:
reader = csv.reader(csvfile)
data = []
for row in reader:
data.append(row)
,讓你列表的列表:
In [5]: data
Out[5]:
[['first_name',
'last_name',
'favorite_color',
'correct_answers',
'cross_bridge'],
['Dirk', 'Diggler', 'orange', '0', 'False'],
['King', 'Arthur', 'green', '3', 'True'],
['Lancelot', 'du Lac', 'blue', '3', 'True'],
['Sir', 'Galahad', 'yellow', '2', 'False']]
下面是CSV模塊的文檔:
https://docs.python.org/3.5/library/csv.html#csv.reader
您提到的array
你的問題。我不確定這是你真正想要的。 Python數組必須都包含相同的數據類型。給出的例子沒有。下面是Python的數組的文檔:
https://docs.python.org/2/library/array.html
希望幫助!
這裏沒有數組。僅列出 –
解析CSV文件的方式有問題。你確定它是用逗號分隔的嗎?請包含myfile.csv的第一行和匹配的'print(csvFileArray [0])'。 – DyZ
'csv.reader()'應該已經將它分解成一個列表。 – AChampion