Я пишу в файл Excel на 2 листах - sheet1
и geodata
.
test_df = DataFrame({'col1':[1,2,3,4], 'col2':['a','b','c','d']})
test2_df = DataFrame({'lat':[89.0, 34.89, 23.56],'lng':[45.6, 67.9, 89.0]}, index = ['Paris','Spain','Barcelona'])
writer = pd.ExcelWriter('./test_book.xlsx', engine = 'xlsxwriter')
test_df.to_excel(writer, 'sheet1')
test2_df.to_excel(writer, 'geodata')
writer.save()
writer.close()
Позже записываем в тот же файл еще один новый лист sheet3
и некоторые дополнительные данные для geodata
. Когда я запускаю приведенный ниже блок кода и пытаюсь открыть лист Excel из папки, я получаю сообщение об ошибке, в котором говорится, что его нельзя открыть.
test3_df = DataFrame({'col1':[3,5,6], 'col2':['x','y','k']})
test2_new_df = DataFrame({'lat':[44.6,38.9],'lng':[35.7,89.3]},index=['US','UK'])
from openpyxl import load_workbook
writer = pd.ExcelWriter('./test_book.xlsx', engine = 'openpyxl')
writer.book = load_workbook('./test_book.xlsx')
writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
test3_df.to_excel(writer,'Sheet3')
test2_new_df.to_excel(writer, 'geodata',header = False, startrow =len(test2_df)+1)
writer.close()
Когда я запускаю этот блок кода второй раз, я могу открыть файл. Но мои новые значения, связанные с индексом 'US'
& 'UK'
, добавлены дважды в geodata
. Я пробовал несколько способов, но не могу открыть файл после первого запуска этого кода.