繁体   English   中英

使用 Python 在另一个已创建的文件中复制 excel 表和样式

[英]Copy excel sheet with style in another already-created file with Python

我有一个 Python 代码,在该过程结束时,它会创建一个包含多个工作表的 Excel 文件,我想要做的是从另一个文件中复制一个透明的文件,该文件以其确切的格式(具有背景颜色的单元格,不同的 fonts 和字母大小等)并将其粘贴在主文件中而不影响其他先前创建的工作表,我当前使用的方法不允许我这样做,因为它会覆盖新文件之前创建的。 有人有这样做的建议或方法吗?

我目前使用的方法,来自: Read an excel file with Python 并在不改变样式的情况下修改它

from openpyxl import Workbook, load_workbook

workbook2 = load_workbook("readme tab.xlsx") # Your Excel file
worksheet2 = workbook2.active # gets first sheet

for row in range(1, 10):
    # Writes a new value PRESERVING cell styles.
    worksheet2.cell(row=row, column=1, value=f'NEW VALUE {row}')

workbook2.save(path)

我正在使用的代码的参考,按顺序:

import xlsxwriter
import pandas as pd

path = r"Archivo.xlsx"

writer = pd.ExcelWriter(path)

df1.to_excel(writer, sheet_name='Data')

workbook = writer.book
worksheet = writer.sheets['Data']
ws = workbook.add_worksheet('Graph')

worksheet.set_column(1, 29, 30)

writer.save()

from openpyxl import Workbook, load_workbook

workbook2 = load_workbook("readme tab.xlsx") # Your Excel file
worksheet2 = workbook2.active # gets first sheet

for row in range(1, 10):
    # Writes a new value PRESERVING cell styles.
    worksheet2.cell(row=row, column=1, value=f'NEW VALUE {row}')

workbook2.save(path)

您可以使用方法add_sheet复制工作表(包括其格式样式)。
并假设该workbook是您要向其中添加工作表的工作簿:

代替:

workbook2 = load_workbook("readme tab.xlsx") # Your Excel file
worksheet2 = workbook2.active # gets first sheet

for row in range(1, 10):
    # Writes a new value PRESERVING cell styles.
    worksheet2.cell(row=row, column=1, value=f'NEW VALUE {row}')

workbook2.save(path)
经过:
ws2 = load_workbook('readme tab.xlsx').active
ws2._parent = workbook
workbook._add_sheet(ws2)
workbook.save(path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM