manejo - seleccionar filas dataframe python
Guarde la lista de DataFrames en la hoja de cálculo Excel de hojas múltiples (2)
Deberías usar pandas propias de la clase ExcelWriter
:
from pandas import ExcelWriter
# from pandas.io.parsers import ExcelWriter
Entonces la función save_xls
funciona como se espera:
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()
¿Cómo puedo exportar una lista de DataFrames en una hoja de cálculo de Excel?
Los documentos para el estado to_excel
:
Notas
Si pasa un objeto ExcelWriter existente, la hoja se agregará al libro existente. Esto se puede usar para guardar diferentes DataFrames en un libro de trabajo
writer = ExcelWriter(''output.xlsx'')
df1.to_excel(writer, ''sheet1'')
df2.to_excel(writer, ''sheet2'')
writer.save()
Después de esto, pensé que podría escribir una función que guarda una lista de DataFrames en una hoja de cálculo de la siguiente manera:
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()
Sin embargo (con una lista de dos pequeños DataFrames, cada uno de los cuales puede guardar to_excel
individualmente), se to_excel
una excepción (Edit: traceback removed) :
AttributeError: ''str'' object has no attribute ''worksheets''
Presumiblemente, no estoy llamando a ExcelWriter
correctamente, ¿cómo debería estar para poder hacer esto?
En caso de que alguien necesite un ejemplo de cómo hacer esto con un diccionario de marcos de datos:
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, ''%s'' % key)
writer.save()
ejemplo: save_xls(dict_df = my_dict, path = ''~/my_path.xls'')