问题描述
我正在将字典中的数据写入如下所示的 excel
my_dict = { 'one': 100,'two': 200,'three': 300}
df = pd.DataFrame(my_dict.items(),columns=['Summary','Count'])
with pd.ExcelWriter('outfile.xlsx') as writer:
df.to_excel(writer,sheet_name='sheet1',index=False)
我还有一个列表,其中有一些值需要粘贴到 Excel 的第 3 列中。
my_list = [10,20,30]
预期输出:
编辑:我需要同时在 my_dict 和 my_list 中添加数据。
我曾尝试找到一个解决方案,但不幸的是无法找到。任何帮助表示赞赏! 非常感谢!!
解决方法
要同时添加my_dict
和my_list
中的数据来定义数据框df
,您可以链接pd.DataFrame()
使用 .assign()
调用以使用输入列表 my_list
作为输入定义名为 my_list
的列:
df = pd.DataFrame(my_dict.items(),columns=['Summary','Count']).assign(my_list=my_list)
当然,最简单的做法是将它们分成2个语句,先通过pd.DataFrame定义dataframe,然后添加column,如下。但这将在 2 个语句中,不确定您是否仍将其视为 “同时”。
df = pd.DataFrame(my_dict.items(),'Count']) # Your existing statement unchanged
df['my_list'] = my_list
结果:
print(df)
Summary Count my_list
0 one 100 10
1 two 200 20
2 three 300 30
,
这也可以解决您的问题
import pandas as pd
my_dict = {'summary': ['one','two','three'],'count': [100,200,300]}
my_list = [10,20,30]
df = pd.DataFrame.from_dict(my_dict)
df['my_list'] = my_list
df.to_excel('df.xlsx')