我有一个csv文件,格式如下:
age,name
3,abc
5,xyz
6,pqr
4,stu
8,lkm
如何将其以下列格式放入字典中:
{3:'abc', 5:'xyz', 6:'pqr', 4:'stu', 8:'lkm'}
更新:
mycode的 -
age_file = open('age.csv','r')
csv_age = csv.DictReader(age_file)
for row in csv_age:
print(row)
输出:
{'age' : 3, 'name' : 'abc', 'age' : 5, 'name' : xyz, ... }
答案 0 :(得分:1)
除了问题来自年龄和名字。如果name / age是uniq,您可以使用:
import csv
my_result={}
with open('age.csv', 'rb') as csvfile:
for age,name in csv.reader(csvfile, delimiter=','):
my_result[age]=name
但我希望你的使用更好的defaultdict。并且通过在一个年龄段拥有多个名称使其更加健壮:
import csv
from collection import defaultdict
my_result=defaultdict(list)
with open('age.csv', 'rb') as csvfile:
for row in csv.reader(csvfile, delimiter=','):
my_result[age].append(name)
在这种情况下,结果将是: {1:[ “鲍勃”, “约翰”],3:[ “票据”],6:[ “乔治”, “莫妮卡”]}
答案 1 :(得分:0)
我很懒,所以我用熊猫:
import pandas as pd
df = pd.read_csv('test.csv')
dd = {}
for ii, age in enumerate(df.age):
dd[age] = df.name.iloc[ii]
但是,我同意上述评论,即在下次相同年龄显示为关键时,您将破坏先前具有指定年龄的条目。