Напишите несколько файлов Excel для каждого значения определенного столбца Python Pandas - PullRequest
2 голосов
/ 14 июня 2019

Рассмотрим следующий фрейм данных:

data = {'Col_A': [3, 2, 1, 0], 'Col_B': ['a', 'b', 'a', 'b']}
df = pd.DataFrame.from_dict(data)

Я могу создать фрейм данных a и записать его в Excel следующим образом:

a = df[df.Col_B == 'a']
a
a.to_excel(excel_writer = 'F:\Desktop\output.xlsx', index = False)

Я ищу способ написания Excelфайл, для каждого значения столбца B. На самом деле существуют сотни значений для Col_B.Есть ли способ пройти через это?

Любая помощь очень ценится!

С уважением,

М.

Ответы [ 2 ]

3 голосов
/ 14 июня 2019

При необходимости для каждой группы отдельный цикл файла Excel по groupby объекту:

for i, a in df.groupby('Col_B'):
    a.to_excel(f'F:\Desktop\output_{i}.xlsx', index = False)

Если для каждой группы нужно отдельное имя листа в одном файле exel, используйте ExcelWriter:

with pd.ExcelWriter('output.xlsx') as writer:
    for i, a in df.groupby('Col_B'):
        a.to_excel(writer, sheet_name=i, index = False)
2 голосов
/ 14 июня 2019

Вы можете сделать:

for i in df.Col_B.unique():
    df[df.Col_B.eq(i)].to_excel('F:\Desktop\output'+i+'.xlsx',index=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...