【发布时间】:2022-01-21 18:48:06
【问题描述】:
我正在尝试将包含一些文本和数字以及徽标图像的 Excel 电子表格复制到多个 Excel 文件中,作为使用 python 进行源格式设置的新工作表,非常感谢任何帮助。
【问题讨论】:
-
请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
我正在尝试将包含一些文本和数字以及徽标图像的 Excel 电子表格复制到多个 Excel 文件中,作为使用 python 进行源格式设置的新工作表,非常感谢任何帮助。
【问题讨论】:
不清楚您的最终要求和限制是什么。 基本要求; “我正在尝试将包含一些文本和数字以及徽标图像的 Excel 电子表格复制到多个 Excel 文件中” 只是表示您想要同一个 Excel 文件的多个副本,您的操作系统的文件管理应用程序可以做到这一点,其限制可能是每个文件的最终命名。如果这是您的要求,那么可能类似于 Python - making copies of a file 可能有助于创建具有必要命名的文件。
如果它是一个包含多张工作表的工作簿,并且您只想将一张工作表复制到新工作簿中,那么 openpyxl 可以提供帮助。复制工作表很容易,但是格式化需要额外的代码。 如果原始文件中只有几张纸,则在保存副本之前删除这些纸可能会更容易,请参见下面的示例代码。 否则此链接可能会有所帮助 How to copy worksheet from one workbook to another one using openpyxl?
示例: 以下代码显示如何打开现有工作簿“templateA.xlsx”,该工作簿有两个工作表“Sheet1 和“Sheet2”。您只想将“Sheet1”保存为多个副本 (10),名为“template1.xlsx”、“template2.xlsx”、“template3.xlsx”... 该代码打开原始工作表,在制作 10 个副本之前删除名为“Sheet2”的工作表。
from openpyxl import load_workbook
# Load the original Excel workbook
wb = load_workbook("templateA.xlsx")
# delete the Sheet2 that is not required
del wb["Sheet2"]
# Save 10 copies of the workbook with Sheet1 only
for i in range(10):
wb.save("template" + str(i) + ".xlsx")
如果您所需的命名比给出的示例更复杂,第一个链接 python-making-copies-of-a-file 会有所帮助。
【讨论】: