#python #excel #xlsxwriter
Вопрос:
У меня есть цикл для сохранения всех моих фреймов данных на разных листах. Название листа изменяется в зависимости от функции df. Но я понял, что это всегда был последний df, сохраненный на каждом из моих листов.
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()