I have a loop to save all my dataframe in different sheets. The name of the sheet change in function of the df. But i realized that it was always the last df saved in each of my sheets.
import pandas as pd
import numpy as np
import datetime as dt
from pathlib import Path
pathList=sorted(Path('.').glob('*.csv'))
output="output/writer.xlsx"
def reader(file) :
return pd.read_csv(file,sep=";")
def extract(file,name):
global df
file['dte']=pd.to_datetime(file['dte'],errors='coerce')
file['year']=pd.DatetimeIndex(file['dte']).year
df=file.set_index([file.groupby('year').cumcount(),'year']).unstack(1)
df=df.sort_index(1,level=1)
df.columns=[f"{x}_{y}" for x,y in df.columns]
names=[]
for path in pathList :
name=''
readFile2=path
readName2=str(readFile2)
for i in readName2 :
if i=='.':
break
name=name+i
names.append(name)
for path in pathList :
readFile=path
readName=str(readFile)
print(readFile)
pathFile=reader(readFile)
extract(pathFile,name)
writer = pd.ExcelWriter(output, engine='xlsxwriter')
for name in names:
df.to_excel(writer,sheet_name=name)
writer.save()
