我有一个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)
有什么建议吗?
答案 0 :(得分:0)
假设您的行是唯一的,这应该这样做:
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]}