当前位置:主页 > python教程 > Pandas多文件聚合处理

Pandas数据分析多文件批次聚合处理实例解析

发布:2023-04-09 15:40:02 59


我们帮大家精选了相关的编程文章,网友邱天空根据主题投稿了本篇教程内容,涉及到Pandas多文件聚合处理、Pandas、数据分析、Pandas多文件聚合处理相关内容,已被323网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

Pandas多文件聚合处理

前言

很多情况下我们处理的文件并不只是一个单纯的CSV文件或者Excel文件。我们会结合更多是数据去进行聚合统计分析,或许是需要解析到一整个数据存储压缩包,或许是对一整个目录文件读取再进行数据操作,这都需要我们掌握一定的多文件处理方法和策略。此篇文章正是基于此场景下处理多文件方法整合策略。

一、多文件场景

我们就以2020年CCF大数据与智能竞赛的数据来作为实例来处理:

现在我们有这么文本文件需要进行读取分析,按照往常我们一个一个读取显然费时费力。那么我们肯定想到了如果能够一次读取所有的文件名就可以循环遍历读取文件内容了,此时有两种方法可以获取到目录下所有文件名称:

方法一

第一种方法是引用OS库中的walk方法,python中os.walk是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。其语法为:

os.walk(top, topdown=True, οnerrοr=None, followlinks=False)

参数说明:

  • top 是你所要便利的目录的地址
  • topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)
  • onerror 需要一个 callable 对象,当walk需要异常时,会调用
  • followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)

os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。

返回说明:

每次遍历的对象都是返回的是一个三元组(root,dirs,files)

  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

其中files就是我们该目录下的所有文件名称:

file_dir = "D:\\metric-traffic\\traffic\\"
for root, dirs, files in os.walk(file_dir):
    print(files)

将该目录下所有的文件路径可以这样写:

file_dir = "D:\\metric-traffic\\traffic\\"
for root, dirs, files in os.walk(file_dir):
    for name in files:
        print(os.path.join(root, name))	# 文件

方法二

方法一需要循环遍历而且一次只能读出一条完整路径,可以通过list来保存单个路径形成列表,但是多个循环遍历效率较为低下。Python提供了glob库,只要安装python就可以使用该模块。glob模块主要用来查找和文件,可以使用 *、?、[] 这三种**通配符**对路径中的文件进行匹配。

  • *:代表0个或多个字符
  • ?:代表一个字符
  • []:匹配指定范围内的字符,如[0-9]匹配数字

如果我们想要取得一个目录下的所有文件名称仅需要两行代码:

file_dir = "D:\\metric-traffic\\traffic\\"
glob.glob(file_dir+"*.txt")

二、多文件读取

使用Pandas的读取文件很方便,例如read_csv,read_json或者是read_sql都是十分简单且高效的操作。循环处理的话遍历读取文件就好了,根据我们获取到的目录路径:

file_dir = "D:\\metric-traffic\\traffic\\"
list_file=glob.glob(file_dir+"*.txt")
for i in range(len(list_file)):
    df=pd.read_csv(list_file[i])
    print(df)

以上就是Pandas数据分析多文件批次聚合处理实例解析的详细内容,更多关于Pandas多文件聚合处理的资料请关注码农之家其它相关文章!


参考资料

相关文章

  • Python使用Pandas处理测试数据的方法

    发布:2023-04-02

    Pandas是一个功能极其强大的数据分析库,可以高效地操作各种数据集,这篇文章主要介绍了Python自动化测试-使用Pandas来高效处理测试数据,需要的朋友可以参考下


  • python3 pandas 如何读取MySQL数据和插入

    发布:2020-02-19

    下面为大家分享一篇python3 pandas 读取MySQL数据和插入的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧


  • Pandas出现KeyError的问题解决及分析

    发布:2023-03-08

    本文主要介绍了Pandas出现KeyError的问题解决及分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python Pandas数据结构知识点总结

    发布:2020-04-29

    这篇文章主要介绍了Python Pandas数据结构简单介绍的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • Pandas读取csv的实现

    发布:2023-03-06

    本文主要介绍了Pandas读取csv的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • pandas行和列的获取的实现

    发布:2023-03-06

    本文主要介绍了pandas行和列的获取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Pandas.concat连接DataFrame,Series的示例代码

    发布:2023-03-29

    本文主要介绍了Pandas.concat连接DataFrame,Series的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Pandas中resample方法示例代码

    发布:2020-03-21

    这篇文章主要介绍了Pandas中resample方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


网友讨论