AttributeError при попытке сохранить кадр данных pandas в существующую таблицу Excel

Я пытаюсь записать фрейм данных Pandas в существующий лист Excel на новой вкладке, но он дает мне следующую ошибку:

AttributeError: объект 'NoneType' не имеет атрибута 'read'.

Я решил, что это потому, что pandas to_excel возвращает объект NoneType, который не позволяет мне сохранить файл с writer.save(). Кто-нибудь знает обходной путь для этого?

path = 'summary.xlsx'
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

df.to_excel(writer, sheet_name="results")
writer.save()

0 ответов

У меня была точно такая же проблема. Мне удалось обойти это, удалив значение в legacy_drawing из каждого листа в книге.

path = 'summary.xlsx'
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

for s in list(writer.sheets.keys()):
   writer.sheets[s].legacy_drawing = None

df.to_excel(writer, sheet_name="results")
writer.save()
Другие вопросы по тегам