将数据作为值粘贴到已设置样式的excel工作表中(同时保持格式)

2024-03-28 14:20:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个自动化的工作流程。我相信这对其他许多人来说是一个非常熟悉的情况。任务有点像这样:

  1. 从邮件下载zip文件(csv文件)
  2. 从csv文件中提取值
  3. 将这些值粘贴到主excel文件中相应的工作表中(同时保留格式)-使用pandas和python进行工作表映射,并通过pd DataFrames提取/粘贴数据
  4. 对所有csv文件重复步骤3-4后保存主文件。以电子邮件的形式扇出。你知道吗

第三步是特别的问题。在这一步中,我已经完全编译了所需的数据,并将其注入到相应的表中(作为df)。我只剩下把这个df写进主excel表了。但是,我仍然找不到一个不重写excel格式的方法来执行此操作。如果有一个“粘贴为值”的解决方案,而不是在粘贴后通过执行额外的格式化步骤来花费时间和延长代码的长度,那将非常有帮助。希望能得到各位专家的帮助!你知道吗

目前正在探索与熊猫,numpy,openpyxl解决方案。你知道吗

# INJECT ORDERED DATA FROM TEMP DF INTO TRANSACTION METRICS DF
transaction_metrics_df[INPUT_DATETIME] = temp_df["data"]
with pd.ExcelWriter(TRANSACTION_METRICS, engine="openpyxl") as writer:
   transaction_metrics_df.to_excel(writer, sheet_name=update_sheet, 
index=False)

我知道到现在为止,我的代码只会用一张表覆盖整个主表,这不是因为我不知道如何保存多张表。只是现在我先弄对了一张纸。不管怎样,到了输出的问题,最终的xlsx文件保存了正确的数据,但是,所有excel格式,过去存在的现在都丢失了,例如数字到3dp,彩色填充,边框。。。基本上是狂喜的问题


Tags: 文件csv数据代码df粘贴格式步骤