如何将项附加到字典值是python的一个列表
我有这样的xlsx文件如何将项附加到字典值是python的一个列表,python,Python,我有这样的xlsx文件 travel_df = pd.read_excel('../Data/TopMart.xlsx') data = travel_df.to_dict('records') parent_name_1 parent_name_2 parent_name_3 A1 B1 C1 A2 B2 C2
travel_df = pd.read_excel('../Data/TopMart.xlsx')
data = travel_df.to_dict('records')
parent_name_1 parent_name_2 parent_name_3
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
数据是这样的
travel_df = pd.read_excel('../Data/TopMart.xlsx')
data = travel_df.to_dict('records')
parent_name_1 parent_name_2 parent_name_3
A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
我想让dict像这样:
cat = {
A1 : [B1, C1],
A2 : [B2, C2],
A3 : [B3, C3],
A4 : [B4, C4],
}
最好的方法是什么?我不知道这是否是最好的方法,但你可以试试:
import pandas
if __name__ == "__main__":
xls = pandas.read_excel("test.xls")
data = {xls.iloc[i][0]: list(xls.iloc[i][1:].values) for i in range(len(xls))}
假设您的第一列有唯一的键。可能有更好的函数直接执行此操作,但我找不到它。。。但是,
df.to_dict('split')
得到了一些帮助,并且很容易完成。这就是split带给我们的:
{'index': [0, 1, 2, 3],
'columns': ['parent_name_1', 'parent_name_2', 'parent_name_3'],
'data': [['A1', 'B1', 'C1'],
['A2', 'B2', 'C2'],
['A3', 'B3', 'C3'],
['A4', 'B4', 'C4']]}
这里的数据
项有点像我们想要的,有点像
l = df.to_dict('split')['data']
cat = dict()
for n in l:
cat.update({n[0]:[n[1],n[2]]})
最后,cat
看起来正是(我认为)您想要的样子。将熊猫作为pd导入
my_data=pd.DataFrame({
'A':['A1','A2','A3','A4'],
‘B’:[‘B1’、‘B2’、‘B3’、‘B4’],
‘C’:[‘C1’、‘C2’、‘C3’、‘C4’]
})
结果=我的数据。将索引(“A”)设置为索引(“索引”)
{key:key的列表(value.values()),result.items()中的值]
结果对象:
最终产量
cat=travel\u df.set\u index(“parent\u name\u 1”).T.to\u dict(orient=“list”)
你需要A1:[B1,B1]
还是A1:[B1,C1]
?@Marino我的坏是我需要A1:[B1,C1]@Marino我编辑了我的代码这一个赢了,干得好。)不客气!