绪论
在数据分析工作中,尝尝需要处理多个不同月的excel文件,但无奈与excel文件的局限性,不能同时处理多个月的excel数据,所以python的批量读取excel文件就显得十分重要,下面我将展示如何用python将每个月度的excel数据进行读取并汇总处理和输出。
一、加载包
###############加载包################如果出现报错,可使用pip install 包名 来进行下载import os #导入查看文件路径库import pandas as pd # 导入Pandas库import ntpathfrom 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)
来源地址:https://blog.csdn.net/lwc123456789/article/details/130903573