Excel Writer Python Отдельный лист для каждой строки / индекса в DataFrame - PullRequest
1 голос
/ 21 февраля 2020

У меня есть датафрейм с 14 столбцами и около 300 строк. Что я хочу сделать, это создать xlsx с несколькими листами, каждый лист содержит одну строку основного кадра данных. Я настраиваю его так, потому что я хочу добавлять к этим отдельным листам каждый день для нового экземпляра той же строки, чтобы увидеть, как значения столбцов для уникальных строк меняются со временем. Вот код

tracks_df = pd.read_csv('final_outputUSA.csv')
writer2 = pd.ExcelWriter('please.xlsx', engine='xlsxwriter')

for track in tracks_df:
    tracks_df.to_excel(writer2, sheet_name="Tracks", index=False, header=True)

writer2.save()
writer2.close()

Прямо сейчас это просто выводит тот же формат, что и CSV, в котором я читаю. Я знаю, что мне нужно будет динамически изменять имя_станицы на основе индексированного значения, я бы хотел бы иметь каждый sheet_name=df['Col1'] для каждого листа. Как вывести xlsx с отдельным листом для каждой строки в моем фрейме данных?

1 Ответ

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

Попробуйте это:

writer2 = pd.ExcelWriter('please.xlsx', engine='xlsxwriter')
df.apply(lambda x: x.to_frame().T.to_excel(writer2, sheet_name=x['Col1'].astype('str'), index=True, header=True), axis=1)
writer2.save()
writer2.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...