У меня есть две таблицы в формате .xls, у обоих два листа (sheet1 и sheet2).Я пытаюсь переписать «sheet2» в book2.xls на «sheet2» из book1.xls.Я пытаюсь использовать подход панд, и вот мой черновой код,
import pandas as pd
# Open the first spreadsheet
df1 = pd.read_excel('Book1.xls', sheet_name='sheet2')
# Specify the writer file
writer = pd.ExcelWriter('Book2.xls')
# Write output
df1.to_excel(writer, 'sheet2', engine='xlswriter', index=False)
writer.save()
После слияния я ожидаю, что будет обновлен только «sheet2» в book2.xls при сохранении «sheet1».Однако это не так, и book2.xls теперь имеет только «sheet2» и удаляет «sheet1».Я просмотрел несколько ответов ( например, ), и они работают для формата '.xlsx', используя openpyxl
.Я ищу решение, которое имеет дело с форматом .xls.Спасибо за вашу помощь.
Кроме того, я бы надеялся, pandas.ExcelWrite
иметь одну дополнительную опцию для объединения только указанного листа, вздох!
****************************
Другой подход, который я попробовал, здесь, но я получаю ошибку при объединении листа.
import pandas as pd
# Open the first spreadsheet
df1 = pd.read_excel('Book1.xls')
excelBook = pd.ExcelFile(path+'Book2.xls')
writer = pd.ExcelWriter(path+'Book2.xls')
writer.book = excelBook
writer.sheets = dict((ws.title, ws) for ws in excelBook.sheet_names)
# Add new sheets
df1.to_excel(writer, "Sheet2", index=False)
# Save the file
writer.save()
`AttributeError: 'ExcelFile' object has no attribute 'add_sheet'`