[英]reading a csv file into a dictionary of nested lists
我有一個SAT成績的CSV文件,格式為:
州利率語言數學
以及所有五十個州的對應值。 我需要字典。 數據的字典格式是將列名作為鍵,然后將每個數據下的數據作為該鍵的值列表。我能夠以正確的格式打印列表,但列表未鏈接到字典中的鍵字典在那里,但是空的。 在嘗試了不同的方法之后,這是我所能想到的最好的方法:
with open('../sat_scores.csv', mode='r') as f:
sat= {}
label_line =[]
reader = csv.reader(f)
count = 0
for row in reader:
print(row)
if count == 0:
for item in row:
item = sat.keys
count +=1
for row in reader:
for key in sat.keys:
for score in row:
sat[key].append(score)
print(sat)
有什么建議么?
假設您的行是唯一的,則應該這樣做:
with open('../sat_scores.csv', mode='r') as f:
sat = {}
for row in csv.reader(f):
sat[row[0]] = row[1:]
row
是一個列表。 row[0]
具有您所在州的名稱。 row[1]
, row[2]
和row[3]
還有其他所有內容。 您可以使用列表切片並輸入State : <List of data>
。
這樣就完成了。 最好知道item = sat.keys
不能達到您的期望。 keys
是dict的函數,您正在將該函數分配給變量。 看這個:
>>> sat = {}
>>> sat.keys
<built-in method keys of dict object at 0x101b81c08>
您應該做的是遵循這些方針:
>>> row = ['OH', '88%', 200, 180]
>>> sat[row[0]] = row[1:]
>>> sat
{'OH': ['88%', 200, 180]}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.