Трудно дать ответ без примеров данных, но я думаю, что вы хотите что-то вроде этого:
import pandas as pd
df = pd.DataFrame({'var':['a','a','b','c','c','c'], 'value':[1, 2, 3, 4, 5, 6]})
writer = pd.ExcelWriter('example.xlsx')
for unique_var in df['var'].unique():
frame = df[df['var'] == unique_var]
frame.to_excel(writer, sheet_name=unique_var)
writer.save()
Это создает файл Excel с 3 листами ('a', 'b', 'c ') с исходным кадром данных, отфильтрованным для соответствия этому значению в каждом случае.
Это также можно сделать с помощью groupby
:
for unique_var, frame in df.groupby('var'):
# repeat code