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

这篇具有很好参考价值的文章主要介绍了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的文件名就是按照日期排列,最后可以依据文件名来对汇总后的数据进行区分,如下图

python读取文件夹下所有excel文件,excel,python,numpy,pandas,数据分析


###################
###查看并修改路径##
###################
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)

三、批量读取数据,并添加时间文章来源地址https://www.toymoban.com/news/detail-596648.html

##############################
#####批量读取数据、并添加时间#####
##############################
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)

到了这里,关于python如何批量读取一个文件夹里的所以excel文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【代码---利用一个小程序,读取文件夹中图片,将其合成为一个视频】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 创建一个程序将图像合成为视频通常需要使用图像处理和视频编码库。 下面是一个使用Python的例子,其中使用OpenCV来处理图像和生成视频: 提示:以下是本

    2024年01月25日
    浏览(42)
  • python读取文件夹下的文件以及子文件夹中文件

    os.listdir() 读取目标文件夹下的文件名和子文件夹名,不会递归读取子文件夹下 方法一: root, dirs, files = os.walk() 递归读取文件夹和 子文件夹下所有文件 。方法二:也可以用os.listdir(),判断是文件夹再os.listdir()自己写一个递归程序 示例

    2024年02月16日
    浏览(64)
  • python 读取文件夹下子文件夹下的csv数据表

    可以使用 Python 中的  os  和  csv  模块来读取文件夹下的文件夹的 csv 数据。具体的步骤如下: 导入  os  和  csv  模块。 使用  os  模块的  listdir  函数列举出目标文件夹下的所有子文件夹的名称。 对于每个子文件夹,列举出其中的所有 .csv 文件的名称,并逐一读取 csv

    2024年02月11日
    浏览(72)
  • 如何批量提取不同文件夹下的图片并随机重命名

    无论是在为了跑深度学习模型而准备数据集,还是其他的一些用途,相信大家都会遇到一个问题:我所需要的图片分布在很多不同的文件夹下,但我不需要这么多文件夹,那么我如果要使用这些图片的话,就需要把这些文件夹下的图片一个个提取出来,然后再放到新建的文件

    2024年02月12日
    浏览(66)
  • python怎么创建一个文件夹,用python创建一个文件夹

    大家好,小编来为大家解答以下问题,python中如何创建一个新文件,python如何创建一个文件夹,今天让我们一起来看看吧! 这篇文章主要介绍了如何通过python新建一个文件中的文件,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小

    2024年04月29日
    浏览(61)
  • python按照windows或者Ubuntu的文件夹中文件的顺序读取文件

    在使用python读取文件的时候,发现python读取文件的顺序和文件夹中的顺序不一致,这时候应该怎么办呢? 使用os_sorted库,安装方式: 使用方法: 本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换

    2024年02月07日
    浏览(62)
  • python-自动化篇-办公-批量新建文件夹并保存日志信息

    因为业务需要,每天都需要按当天的日期创建很多新文件夹。把这种重复又繁重的操作交给Python来做,一直是我的目标。先说下要求: 默认在桌面新建文件夹。 文件夹命名方式,“月.日-1”,比如7.8-1,7.8-2。7是代表当天的月份,不能显示07。8是代表当天的日期,不能显示

    2024年02月20日
    浏览(47)
  • [python]批量解压文件夹下所有压缩包(rar、zip、7z)

            在文件夹作用包含许多压缩包的时候,解压起来就很费时费力,尤其是在文件夹还存在嵌套的情况下,解压起来就更麻烦了。Franpper今天给大家带来递归遍历指定路径下的所有文件和文件夹,批量解压所有压缩包的方法,帮大家一键解压。         常见的压缩包格

    2024年02月09日
    浏览(61)
  • python怎么把一个文件夹内的文件复制到另外一个文件夹(进阶重命名复制)

       需求 :把一个文件夹内(包含子文件夹)的所有文件复制到另一个文件夹下 注 :如果不需要复制文件夹内的子文件夹可删除下面这2行 if os.path.isdir(fulldir): # 目录,递归   FindFile(fulldir)引用   一、把一个文件夹内(包含子文件夹)指定后缀的文件复制到另一个文件夹  

    2024年02月13日
    浏览(60)
  • python 使用os.path.join对文件夹中的文件进行循环遍历读取

    使用os.path.join()函数 一个情景 当我们需要处理数据时,数据保存在txt文件,或者语音处理wav文件 并且以后多个文件,其代表着某一任务下不同参数得到的结果。 所以我们需要使用路径来读取文件, 如果需要一次性读取多个,那么则循环遍历。 这里需要用到 os.path.join 操作

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包