Я пытаюсь использовать ExcelWriter для записи/добавления некоторой информации в книгу, содержащую несколько листов. Впервые, когда я использую эту функцию, я создаю книгу с некоторыми данными. Во втором вызове я хотел бы добавить некоторую информацию в книгу в разных местах на все листы.Python Как использовать ExcelWriter для записи в существующий рабочий лист
def Out_Excel(file_name,C,col):
writer = pd.ExcelWriter(file_name,engine='xlsxwriter')
for tab in tabs: # tabs here is provided from a different function that I did not write here to keep it simple and clean
df = DataFrame(C) # the data is different for different sheets but I keep it simple in this case
df.to_excel(writer,sheet_name = tab, startcol = 0 + col, startrow = 0)
writer.save()
В главном коде я дважды вызываю эту функцию с разным col, чтобы распечатать мои данные в разных местах.
Out_Excel('test.xlsx',C,0)
Out_Excel('test.xlsx',D,10)
Но проблема в том, что делать это выходом является только вторым вызовом функции, если функция переписывает всю книгу. Думаю, мне нужно загрузить книгу, которая уже существует в этом случае? Любая помощь?
Спасибо за ваш комментарий. Следуя вашему предложению, я должен создать книгу в первый раз, а затем при необходимости использовать load_book. Я сделал это, но я получил следующую ошибку: TypeError: copy() получил неожиданный аргумент ключевого слова 'font' – Hamed
См. Http://stackoverflow.com/questions/30102232/pandas-can-not-write-to-excel-file – Stefan
Просто дважды проверял и отлично работает для меня с 'pandas 0.17.1' и' openpyxl 2.3.1'. – Stefan