我有一个包含以下数据的CSV文件
firstName,lastName,email,phoneNumber
John,Doe,john@doe.com,0123456789
Jane,Doe,jane@doe.com,9876543210
James,Bond,james.bond@mi6.co.uk,0612345678
我想将它存储在python字典中。我正在使用pandas尝试导入它并保留每列的文件头。
df = pd.read_csv('file.csv', delimiter=',')
dicts = df.to_dict().values()
print(dicts)
此输出
dict_values([{0: 'John', 1: 'Jane', 2: 'James'}, {0: 'Doe', 1: 'Doe', 2: 'Bond'}, {0: 'john@doe.com', 1: 'jane@doe.com', 2: 'james.bond@mi6.co.uk'}, {0: 123456789, 1: 9876543210, 2: 612345678}])
似乎没有保留标题'firstName,lastName,email,phoneNumber'
print ("dict['Name']: ", dict['firstName'])
TypeError: 'type' object is not subscriptable
有一种简单的方法吗?
答案 0 :(得分:0)
您只需要to_dict
:
In[92]:
df.to_dict()
Out[92]:
{'email': {0: 'john@doe.com', 1: 'jane@doe.com', 2: 'james.bond@mi6.co.uk'},
'firstName': {0: 'John', 1: 'Jane', 2: 'James'},
'lastName': {0: 'Doe', 1: 'Doe', 2: 'Bond'},
'phoneNumber': {0: 123456789, 1: 9876543210, 2: 612345678}}
e.g:
In[93]:
d = df.to_dict()
d['email']
Out[93]: {0: 'john@doe.com', 1: 'jane@doe.com', 2: 'james.bond@mi6.co.uk'}
通过调用.values
这会返回一个numpy值数组,它没有列标签,只有索引标签