如何使用python将数据写入excel

问题描述

我正在将字典中的数据写入如下所示的 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)

对于上面的代码,我得到了如下所需的输出

enter image description here

我还有一个列表,其中有一些值需要粘贴到 Excel 的第 3 列中。

my_list = [10,20,30]

预期输出

enter image description here

编辑:我需要同时在 my_dict 和 my_list 中添加数据。

我曾尝试找到一个解决方案,但不幸的是无法找到。任何帮助表示赞赏! 非常感谢!!

解决方法

要同时添加my_dictmy_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')