我有一个如下所示的数据框
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
文件的格式。我已经有了格式整齐的字体、颜色文件等,只需要将数据放入其中即可。
有没有办法将 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/