无法使用 xlsxwriter 附加 Excel sheet
Can't append Excel sheet with xlsxwriter
我正在 Excel sheet 中创建一个 table,问题是我的代码删除了其他现有的 sheet
并且附加选项不适用于 xlsxwriter
with pd.ExcelWriter('Template.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='SheetName', startrow=1, header=False, index=False)
workbook = writer.book
worksheet = writer.sheets['SheetName']
(max_row, max_col) = df.shape
column_settings = [{'header': column} for column in df.columns]
worksheet.add_table(0, 0, max_row, max_col - 1
, {'columns': column_settings
,"name": "TableName"}
)
worksheet.set_column(0, max_col - 1, 12)
writer.save()
有解决办法吗??
实际上我发现 xlsxwriter 无法附加它,因为只能写入(如果存在,请擦除其他工作表)。
解决方案是使用 openpyxl,这是一个代码示例:
import openpyxl
from openpyxl import Workbook # Module needed for creating new workbook
from openpyxl import load_workbook # Module needed for loading existing workbook
wb = load_workbook(filename)
ws = wb["sheetName"]
for row in dataframe_to_rows(dataframe, index=False, header=True):
ws.append(row)
wb.save(filename)
我正在 Excel sheet 中创建一个 table,问题是我的代码删除了其他现有的 sheet 并且附加选项不适用于 xlsxwriter
with pd.ExcelWriter('Template.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='SheetName', startrow=1, header=False, index=False)
workbook = writer.book
worksheet = writer.sheets['SheetName']
(max_row, max_col) = df.shape
column_settings = [{'header': column} for column in df.columns]
worksheet.add_table(0, 0, max_row, max_col - 1
, {'columns': column_settings
,"name": "TableName"}
)
worksheet.set_column(0, max_col - 1, 12)
writer.save()
有解决办法吗??
实际上我发现 xlsxwriter 无法附加它,因为只能写入(如果存在,请擦除其他工作表)。 解决方案是使用 openpyxl,这是一个代码示例:
import openpyxl
from openpyxl import Workbook # Module needed for creating new workbook
from openpyxl import load_workbook # Module needed for loading existing workbook
wb = load_workbook(filename)
ws = wb["sheetName"]
for row in dataframe_to_rows(dataframe, index=False, header=True):
ws.append(row)
wb.save(filename)