Как написать несколько листов Excel из определенного столбца в pandas кадре данных? - PullRequest
1 голос
/ 20 февраля 2020

Вот так выглядит df3 (pandas dataframe):

        Key        Media_type                                    cleaned_text                                     keyword            subtopic       topic
0    910040          facebook                   will wait outside post office                                 post office               Brand     service
1    910040          facebook                   will wait outside post office                                   will wait              random  irrelevant
2    218658          facebook  there no section post office alabama ups fedex                                 post office               Brand     service
3    218658          facebook  there no section post office alabama ups fedex                                   ups fedex               Brand     service
4    763587           twitter               crazy package delivery rammed car                            package delivery            Shipping     company
5    827572           twitter                  formatting idead delivery done                               delivery done            Shipping     country
6  2404106          facebook           supoused mexico united states america                       united states america            location    marathon
7  1077739           twitter                                          rt ups                                      rt ups             retweet     service
8   786786  extraterristrial                                put one toostamp  (put[a-za-z]{,5}|made|leave)(.{,8})(stamp)  put one's stamp on     outlier
9    36283            unkown                                pute horse stamp  (put[a-za-z]{,5}|made|leave)(.{,8})(stamp)  put one's stamp on     outlier

Я хочу установить фильтр для каждого значения в df3 ['subtopi c'] и вернуть полученные значения в первенствует. Например, ручной способ сделать это:

df4 = df3.loc[df3['Subtopic'] == 'Brand']
df4.to_excel('subtopic_FedexDriver.xlsx')

Вот как выглядит вывод для этого фрагмента кода:

Key        Media_type                                    cleaned_text                                     keyword            subtopic       topic
0    910040          facebook                   will wait outside post office                                 post office               Brand     service
1    218658          facebook  there no section post office alabama ups fedex                                 post office               Brand     service
2    218658          facebook  there no section post office alabama ups fedex                                   ups fedex               Brand     service

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

1 Ответ

1 голос
/ 20 февраля 2020

IIU C,

writer = pd.ExcelWriter('a.xlsx', engine = 'xlsxwriter')
for n, g in df.groupby('subtopic'):
    g.to_excel(writer, sheet_name=n)
writer.save()
writer.close()

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...