python如何批量读取一个文件夹里的所以excel文件

绪论

在数据分析工作中,尝尝需要处理多个不同月的excel文件,但无奈与excel文件的局限性,不能同时处理多个月的excel数据,所以python的批量读取excel文件就显得十分重要,下面我将展示如何用python将每个月度的excel数据进行读取并汇总处理和输出。

一、加载包

############
###加载包###
############
#如果出现报错,可使用pip install 包名 来进行下载
import os #导入查看文件路径库
import pandas as pd  # 导入Pandas库
import ntpath
from datetime import datetime

二、获取文件夹路径

最好excel的文件名就是按照日期排列,最后可以依据文件名来对汇总后的数据进行区分,如下图


###################
###查看并修改路径##
###################
os.getcwd()
print(os.path.abspath('.'))
os.chdir("C:\\Users\\ALSC\\Desktop\\分析报表\\人员明细")#修改工作路径


## 定义路径,注意文件夹之间用“\\”最后要有个“\\”
path = os.path.abspath('.')
path

## 获取所有文件的完整路径名
all_files_path=[]
for root, dirs, files in os.walk(path, topdown=False):
    if len(files) > 0:
        each_foder_files=[os.path.join(root, x) for x in files]
        all_files_path.extend(each_foder_files)

三、批量读取数据,并添加时间

##############################
#####批量读取数据、并添加时间#####
##############################
df = pd.DataFrame()
for f in all_files_path:
    each_df = pd.read_excel(f, sheet_name="sheet1", engine="openpyxl")
    name = ntpath.basename(f)
    name = name.split(".")[0]
    name = name.replace("年", "-").replace("月", "-").replace("日", "")
    name = datetime.strptime(name, "%Y-%m-%d")
    each_df.insert(loc=0, column="日期", value=name)
    df = df.append(each_df)
df = df.iloc[:,0:17]
df = df[df["城市等级"].notna()]
df["省份"] = df["省份"].replace("上海", "上海市")
df["省份"] = df["省份"].replace("北京", "北京市")
df["省份"] = df["省份"].replace("天津", "天津市")

############
##输出数据##
############
#最后输出汇总人员数据
df.to_excel("汇总人员数据.xlsx", sheet_name="Sheet1", index = False)

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值