我有一个字典,其中包含列表值,我想将其导出到excel文件中。
我的字典当前看起来是这样的:
{1: [0, 120, 115, 100, 91, 131, 74, 14, 8, 105, 122, 47, 103, 0], 2: [0, 107, 25, 26, 121, 118], .. }
我想用以下格式将其导出到excel文件:应该有两列,一列带有键,另一列带有具有该键的列表中的值。 因此对于每个列表项,您应该知道它属于哪个键。 例如,第一列是一堆1,第二列是0,120,115,100,等等。
我想我也许应该把这本字典转过来,但这似乎很难,因为清单太多了。 我还想把它转换成一个pandas数据框架,然后我可以导出到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..}
您应该首先从字典中构建一个键值元组列表,然后使用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")
如果你不想养熊猫,这也是可能的
data = {1: [0, 120, 115, 100, 91, 131, 74, 14, 8, 105, 122, 47, 103, 0], 2: [0, 107, 25, 26, 121, 118]}
new_container = []
for key, value in data.items():
for i in value:
new_container.append([key, i])
print(new_container)
打印:
[[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], [2, 25], [2, 26], [2, 121], [2, 118]]
不是很好,但与我们的需求相似
您可以使用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")