У меня есть шесть разных значений в столбце данных «index_val», которые я импортировал в каждую новую таблицу для одной и той же книги.
df_dict = {}
for zone in df['index_val'].unique():
zone_df = df[df['index_val'] == zone]
df_dict[zone] = zone_df
def save_xlsx(df_dict, path):
with pd.ExcelWriter(path) as writer:
for key in df_dict:
df_dict[key].to_excel(writer, key, index=False)
writer.save()
save_xlsx(df_dict, 'report.xlsx')
Вывод, созданный в листе Excel, не был отформатирован для соответствия ширине столбца. Скажем, значения в столбце 1 требуют ширины столбца 92, а значения в столбце B имеют ширину 16. Я пытался использовать метод set_column
, но, поскольку имена листов хранятся в виде словаря, возникает ошибка.
Чак этих данных выглядит так:
name_char index_val count
name1 A 36
name2 A 38
name3 B 76
name4 C 12
name3 C 25
name6 F 42
Будет 6 листов, каждый из которых будет иметь имена из index_val. Каждый лист будет иметь первый столбец name_char и второй столбец как уникальный index_val. Что мне нравится, так это установить ширину первого столбца равной 92, а второго столбца равным 16. Или существует ли процесс автоматического задания ширины для каждого столбца на основе их максимального значения столбца?