Python + CSV + xlsx + Pandas: объединение нескольких файлов CSV в один CSV с несколькими листами - PullRequest
0 голосов
/ 25 марта 2019

Я хочу создать многолистовой CSV-файл из многолистового xlsx-файла. Для этого я написал этот код:

xls = xlrd.open_workbook(r'Smallys ORDER.xlsx', on_demand=True)
df_list = []

names = xls.sheet_names()
names.remove('EVENT')

for name in names:
    prod = pd.read_excel('Smallys ORDER.xlsx', name, index_col=None)
    prod.to_csv(name + '.csv', encoding='utf-8', index=False) 
    df_list.append(prod)

df_final = pd.DataFrame()  

for df in df_list:
    df_final.append(df)

df_final.to_csv('smallys.csv', encoding='utf-8', index=False)

Он успешно преобразует отдельные листы xlsx в файлы csv. Но не может произвести многострочный CSV.

this print(df_final) выводит this:

Empty DataFrame
Columns: []
Index: []

1 Ответ

2 голосов
/ 25 марта 2019

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.append.html упоминает, что метод добавления возвращает новый объект.Так что это должно быть сохранено в переменной.Поскольку вы не храните, ваш df_final всегда пуст.Попробуйте добавить df_final = df_final.append(df)

...