Wie kann ich eine Liste von DataFrames in eine Excel-Tabelle exportieren?
Die Dokumente für den to_excel
Status:
Hinweise
Wenn Sie ein vorhandenes ExcelWriter-Objekt übergeben, wird das Blatt zur vorhandenen Arbeitsmappe hinzugefügt. Dies kann verwendet werden, um verschiedene DataFrames in einer Arbeitsmappe zu speichern
writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()
Im Anschluss daran dachte ich, ich könnte eine Funktion schreiben, die eine Liste von DataFrames wie folgt in einer Tabelle speichert:
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()
Es wird jedoch (mit einer Liste von zwei kleinen DataFrames, von denen jeder to_excel
einzeln gespeichert werden kann ) eine Ausnahme ausgelöst (Bearbeiten: Traceback entfernt) :
AttributeError: 'str' object has no attribute 'worksheets'
Vermutlich rufe ich nicht ExcelWriter
richtig an, wie soll ich sein, um das zu tun?
ExcelWriter
als Kontextmanager verwenden.with ExcelWriter(xls_path) as writer: df.to_excel(writer, sheet_name)
'sheet%s' % n
etwas ausmachen , das Bit bitte zu erklären ? Was macht es und wie funktioniert es?Falls jemand ein Beispiel benötigt, wie dies mit einem Wörterbuch von Datenrahmen gemacht werden kann:
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()
Beispiel:
save_xls(dict_df = my_dict, path = '~/my_path.xls')
quelle
'%s' % key
? Würde es Ihnen etwas ausmachen, es zu erklären? Vielen Dank!