2

我将字典中的数据写入到 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 的第三列。

my_list = [10,20,30]

预期输出:

在此处输入图像描述

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

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

4

2 回答 2

3

要添加数据my_dictmy_list 同时定义 dataframe df,您可以将pd.DataFrame()调用链接到使用输入列表作为输入.assign()来定义命名的列:my_listmy_list

df = pd.DataFrame(my_dict.items(), columns=['Summary','Count']).assign(my_list=my_list)

当然,最简单的方法是将它们分成2个语句,首先通过pd.DataFrame定义数据框,然后添加列,如下所示。但这将在 2 声明中,并且不确定您是否仍将其视为“同时”

df = pd.DataFrame(my_dict.items(), columns=['Summary','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


于 2021-05-18T18:36:36.280 回答
1

这也可能解决您的问题

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')
于 2021-05-18T18:41:55.057 回答