英文:
Is there a way to write multiple dictionaries with different keys to the same excel sheet using python?
问题
你可以尝试以下方法来实现你想要的Excel表格布局:
首先,将这些字典合并为一个列表,每个字典作为其中的一个元素。然后,使用Python中的pandas库来创建DataFrame。这里是一些示例代码:
import pandas as pd
dict_A = {
'a': 'a',
'b': 'b'
}
dict_B = {
'x': 'x',
'y': 'y',
'z': 'z'
}
dict_C = {
'a': 'a',
'm': 'm',
'z': 'z'
}
# 将字典放入列表
dict_list = [dict_A, dict_B, dict_C]
# 使用pandas创建DataFrame
df = pd.DataFrame(dict_list)
# 将DataFrame保存为Excel文件
df.to_excel('output.xlsx', index=False)
这将创建一个名为'output.xlsx'的Excel文件,其中每个字典的内容会以所需的布局显示在表格中。
英文:
I have multiple dictionaries with different keys in each dictionary. For eg,
dict A = {
'a' = 'a',
'b' = 'b'
}
dict B = {
'x' = 'x',
'y' = 'y',
'z' = 'z'
}
dict C = {
'a' = 'a',
'm' = 'm',
'z' = 'z'
}
Is there a way to write this into an excel sheet one below the other, something like:
a | b | |
---|---|---|
a | b | |
x | y | z |
x | y | z |
a | m | z |
a | m | z |
I tried converting it into a list of dictionaries and creating a dataframe using pandas, but it adds all the keys of all dictionaries to the first row, something like:
a | b | x | y | z | m |
---|---|---|---|---|---|
答案1
得分: 0
您可以将所有数据附加到一个列表[[keys],[values],[keys],...]
,然后将其读取为DataFrame,这样列表的每个条目就会成为数据框中的单独行。然后,您可以将数据框转换为 Excel。
英文:
You can append all of your data to a list [[keys],[values],[keys],...]
and then read it as a DataFrame, that way each entry of the list would be a separate row in the data frame. You can then convert the data frame to an excel.
dict_list = []
for dd in [dictA, dictB, dictC]:
dict_list.append(list(dd.keys()))
dict_list.append(list(dd.values()))
df = pd.DataFrame(data=dict_list)
df.to_excel('dict_data.xlsx', index=False, header=False)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论