Python / Pandas将CSV转换为字典并写入新文件

时间:2017-04-16 20:52:16

标签: python pandas dictionary

我有一个带有cluters的CSV和他们的经纬度如下:

cluster_label,latitude,longitude
0,39.18193382,-77.51885109
1,39.18,-77.27
2,39.17917928,-76.6688633
3,39.1782,-77.2617
4,39.1765,-77.1927

我正在尝试使用Pandas将它们转换为字典:

{u'0': [39.18193382,-77.51885109],
 u'1': [39.18,-77.27],
 u'2': [39.17917928,-76.6688633],
 u'3': [39.1782,-77.2617],
 u'4': [39.1765,-77.1927],}

我已使用.T.to_dict()转换为字典但是当我尝试写入新文件时,我得到Attribute Error(s):'dict' object has no attribute 'to_csv/json/etc.'。如何将csv文件转换为dictionary,然后将生成的字典另存为新文件?

代码

import pandas as pd

data = pd.read_csv('cluster_centroids.csv', delimiter=',', index_col='cluster_label')

dict = data.T.to_dict()
dict.to_csv('centroidDict.csv')

1 个答案:

答案 0 :(得分:1)

如果您尝试将数据框输出到csv,则可以执行以下操作,而不是将某些内容转换为字典。

import pandas as pd

file = 'test.csv'

df = pd.read_csv('test.csv', index_col='cluster_label')

df['co-ords'] = tuple(zip(df.latitude, df.longitude))
df.drop(['latitude', 'longitude'],axis=1, inplace=True)

df.to_csv('centroidDict.csv')

但如果您想将字典写入文件,您可能需要查看使用pickle来保留python以供日后使用的信息。