【问题标题】:write addtional data to excel after creating it with dataframe使用数据框创建后将其他数据写入excel
【发布时间】:2019-09-02 05:33:38
【问题描述】:
import pandas as pd
df1 = pd.DataFrame(Numpy_Array1)
df2 = pd.DataFrame(Numpy_Array2)
writer = pd.ExcelWriter('Results.xlsx', engine='xlsxwriter')
df1.to_excel(writer, sheet_name = 'Array1')
df2.to_excel(writer, sheet_name = 'Array2')
writer.save()

您好,我已经使用 ExcelWriter 编写了一些数据框来 excel,现在我想在每个工作表的最后一行正下方添加以下内容(中间留一行):

a=10
b=20
c=40
d=80 

我该怎么做?

【问题讨论】:

  • 您为什么不先尝试,然后向我们展示您尝试了什么以及是否失败。
  • @Chris 我在互联网上四处寻找,但没有找到任何有用的网站,而且我的时间不多了,所以我在这里发帖。

标签: python excel pandas dataframe pandas.excelwriter


【解决方案1】:

这是一种方法:

import pandas as pd

Numpy_Array1 = [10, 20, 30, 20, 15]
Numpy_Array2 = [10, 20, 30, 20, 15, 30, 45]

df1 = pd.DataFrame(Numpy_Array1)
df2 = pd.DataFrame(Numpy_Array2)

writer = pd.ExcelWriter('Results.xlsx', engine='xlsxwriter')

df1.to_excel(writer, sheet_name = 'Array1')
df2.to_excel(writer, sheet_name = 'Array2')


workbook = writer.book

worksheet = writer.sheets['Array1']
last_row = len(Numpy_Array1) + 2  # Allow for header row and padding.
col = 0
worksheet.write(last_row + 0, col, 'a')
worksheet.write(last_row + 1, col, 'b')
worksheet.write(last_row + 2, col, 'c')
worksheet.write(last_row + 3, col, 'd')

col = 1
worksheet.write(last_row + 0, col, 10)
worksheet.write(last_row + 1, col, 20)
worksheet.write(last_row + 2, col, 40)
worksheet.write(last_row + 3, col, 80)

# Repeat for Numpy_Array2 or add a loop.

writer.save()

输出:

解决方案的关键是获取底层工作簿的句柄并从那里获取工作表。有关详细信息,请参阅 XlsxWriter 文档的 Working with Pandas chapter

【讨论】:

  • 谢谢,如果 a,b,c 和 d 应该在第一列,10,20,40 和 80 在第二列,你会怎么做?
猜你喜欢
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 2015-06-28
相关资源
最近更新 更多