使用列表作为值更改格式词典

2024-10-06 12:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典,其中列出了我想导出到excel文件的值

我的字典目前看起来像这样:

{1: [0, 120, 115, 100, 91, 131, 74, 14, 8, 105, 122, 47, 103, 0], 2: [0, 107, 25, 26, 121, 118], .. } 

我想用以下格式将其导出到excel文件:应该有两列,一列有键,另一列有列表中包含该键的值。因此,对于每个列表项,您应该知道它属于哪个键。例如,第一列是一堆的,第二列是0,120,115,100等等

我想我也许应该把这本词典转置一下,但由于列表太多,这似乎很难。我还想把它转换成熊猫数据框,然后导出到excel。如何快速更改词典的格式

如果我是对的,我需要的字典应该是这样的:

{1:0, 1:120, 1:115, 1:100, 1:91, 1:131, 1:74, 1:14, 1:8, 1:105, 1:122, 1:47, 1:103, 1:0, 2:0, 2:107..}

Tags: 文件数据列表字典格式excel词典本词典
2条回答

您可以使用pandas创建包含两列(“键”和“值”)的数据框,并将其保存到excel文件中

import pandas as pd

dct = {1: [0, 120, 115, 100, 91, 131, 74, 14, 8, 105, 122, 47, 103, 0], 
       2: [0, 107, 25, 26, 121, 118]}

# define the second column name as "values"
df = pd.DataFrame({'values': dct}).reset_index() 
# rename the first colum, here "keys"
df.rename(columns={"index": "keys"}, inplace = True)
# save dataframe to excel file
df.to_excel("output.xlsx")  

您应该首先从字典中构建一个键、值元组列表,然后使用pandas将其转换为excel

d = {1: [0, 120, 115, 100, 91, 131, 74, 14, 8, 105, 122, 47, 103, 0], 2: [0, 107, 25, 26, 121, 118] } 

data = [(i, j) for i in d.keys() for j in d[i]]

# Export to excel format
df = pd.DataFrame(data, columns=["A", "B"])
df.to_excel("table.xlsx")

相关问题 更多 >