Как я могу экспортировать список DataFrames в одну электронную таблицу Excel?
Документы для to_excel
состояния:
Примечания.
При передаче существующего объекта ExcelWriter лист будет добавлен в существующую книгу. Это можно использовать для сохранения разных DataFrames в одну книгу.
writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()
После этого я подумал, что могу написать функцию, которая сохраняет список DataFrames в одну электронную таблицу следующим образом:
from openpyxl.writer.excel import ExcelWriter
def save_xls(list_dfs, xls_path):
writer = ExcelWriter(xls_path)
for n, df in enumerate(list_dfs):
df.to_excel(writer,'sheet%s' % n)
writer.save()
Однако (со списком из двух небольших DataFrames, каждый из которых можно сохранять to_excel
индивидуально) возникает исключение (Edit: трассировка удалена) :
AttributeError: 'str' object has no attribute 'worksheets'
Предположительно я не ExcelWriter
правильно звоню , как мне быть, чтобы это сделать?
ExcelWriter
как менеджер контекста.with ExcelWriter(xls_path) as writer: df.to_excel(writer, sheet_name)
'sheet%s' % n
немного, пожалуйста? Что он делает и как работает?Если кому-то нужен пример того, как это сделать со словарем фреймов данных:
from pandas import ExcelWriter def save_xls(dict_df, path): """ Save a dictionary of dataframes to an excel file, with each dataframe as a seperate page """ writer = ExcelWriter(path) for key in dict_df: dict_df[key].to_excel(writer, key) writer.save()
пример:
save_xls(dict_df = my_dict, path = '~/my_path.xls')
источник
'%s' % key
? Не могли бы вы объяснить это? Благодарность!