python - 只有我的最后一个数据框保存在我的所有工作表 xlsx(python)中
问题描述
我有一个循环可以将所有数据框保存在不同的工作表中。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()
解决方案
推荐阅读
- codeigniter - CodeIgniter 出现获取数据库错误
- vba - 在 Excel 中合并文件
- java - Java 与 AWS Lambda 和 SDK v2
- boost-log - 使用 sink.set_filter 时发生 boost.log 错误
- c# - 如何计算 JArray 值项的平均值
- jboss - 当我们在 Wildfly 17 中配置 HTTPS 时,服务器没有启动
在管理界面下 - testng-dataprovider - Testng 测试被忽略
- javascript - 为什么我的基本递归无限循环?
- cypress - 如何在柏树上模拟长按按键?
- java - 我正在尝试为插入时间表的方法编写一个 JUnit 测试用例,该时间表将参数作为员工 ID。我应该如何尝试?