python - Pandas 数据框到 excel 文件中的特定工作表而不会丢失格式

标签 python pandas dataframe pandas.excelwriter styleframe

我有一个如下所示的数据框

Date,cust,region,Abr,Number,         
12/01/2010,Company_Name,Somecity,Chi,36,
12/02/2010,Company_Name,Someothercity,Nyc,156,

df = pd.read_clipboard(sep=',')

我想将此数据帧写入文件 output.xlsx 中的特定工作表(称为 temp_data)

因此我尝试了以下

import pandas
from openpyxl import load_workbook

book = load_workbook('output.xlsx')
writer = pandas.ExcelWriter('output.xlsx', engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

我也试过下面的

path = 'output.xlsx'

with pd.ExcelWriter(path) as writer:
    writer.book = openpyxl.load_workbook(path)
    final_df.to_excel(writer, sheet_name='temp_data',startrow=10)
writer.save()

但我不确定我是否过于复杂了。我收到如下所示的错误。但我在任务管理器中验证,没有 excel 文件/任务正在运行

BadZipFile: File is not a zip file

此外,当我设法根据以下建议编写文件时,我也丢失了 output.xlsx 文件的格式。我已经有了格式整齐的字体、颜色文件等,只需要将数据放入其中即可。

enter image description here

有没有办法将 pandas 数据框写入现有 excel 文件中的特定工作表?不丢失目标文件的格式

最佳答案

您只需要使用 pandas dataframe 中的 to_excel

试试下面的代码片段:

df1.to_excel("output.xlsx",sheet_name='Sheet_name')

如果有现有数据,请尝试以下代码段:

writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
# try to open an existing workbook
writer.book = load_workbook('output.xlsx')
df.to_excel(writer,index=False,header=False,startrow=len(reader)+1)
writer.save()
writer.close()

关于python - Pandas 数据框到 excel 文件中的特定工作表而不会丢失格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71527992/

相关文章:

启动 Firefox 时出现 python webdriver 错误

python - 如何在Python Peewee中手动插入ForeignKeyFields?

python - 在 pandas 中设置索引

python - 将数据从字典加载到 MultiIndex Dataframe

r - 计算共享值

python - 将数字列与数据框组合

python - 列表理解 - 迭代嵌套列表

python - 使用tensorflow的多语言通用句子编码器时出现问题

python - 删除python中小于某个值的行

r - 按 ID 和重叠日期范围连接数据帧