文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python遍历目录下文件、读取、千万条数据合并实例分析

2023-06-26 04:11

关注

这篇文章给大家介绍Python遍历目录下文件、读取、千万条数据合并实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、使用Python进行文件和文件夹的判断

import ospath= "./data" #路径files = os.listdir(path)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。for file in files:    print(file)    if os.path.isfile(path+ "/"+file):        #os.path.isfile(path) 判断路径是否为文件        print('file'+'这是一个文件')        filename,extension = os.path.splitext(file)        #分割路径,返回路径名和文件扩展名的元组        if extension == ".txt":            print(filename+'这是一个文本文件')        elif extension == ".xlsx":            print(filename+'这是一个excel文件')    if os.path.isdir(path + "/" +file):        print(file+"是一个文件夹")

读取结果:

Python遍历目录下文件、读取、千万条数据合并实例分析

二、使用Python完整的获取所有文件及文件夹并读取相应的文件

在我们遍历文件夹的基础上,如何实现快速读取指定文件,提高工作效率?
只需要在上述代码的基础上,导入pandas包,read_excel_我们所需要的文件即可

import pandas as pdimport os path = './data'def get_all_files(path):    print('-'*25+'函数被调用'+'-'*25)    files = os.listdir(path)#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。    for file in files:        if os.path.isfile(path+ "/"+file):            #os.path.isfile(path) 判断路径是否为文件            print('file'+">>>>>是文件")            filename,extension = os.path.splitext(file)            #分割路径,返回路径名和文件扩展名的元组            if extension == ".txt":                print(filename+"#####是文本文件#####")                print("读取"+filename+"文件中的内容...........")                data = pd.read_table(path+'/'+file)                print(data)            elif extension == ".xlsx":                print(filename+'#####是Excel文件#####')                print("读取"+filename+"文件中的内容...........")                data = pd.read_excel(path+'/'+file)                print(data)            elif extension == ".csv":                print(filename+'#####是csv文件#####')                print("读取"+filename+"文件中的内容...........")                data = pd.read_csv(path+'/'+file)                print(data)        if os.path.isdir(path + "/" +file):            print(file+"¥¥¥¥¥¥¥是文件夹¥¥¥¥¥¥¥")            get_all_files(path+'/'+file)get_all_files(path)

Python遍历目录下文件、读取、千万条数据合并实例分析

读取成功! 

三、使用Python合并数据

在日常工作中我们有很多表格需要处理,如何批量的将很多个文件夹中的表格合并到一起?

重点:

DataFrame.append(*other*, *ignore_index=False*, *verify_integrity=False*, *sort=None*)

append的使用

path='./project_data' ## 声明一个空的DataFrame,用来做最终的数据合并final_data = pd.DataFrame()# 声明一个空的DataFrame,用来做最终的数据合并final_data = pd.DataFrame() def get_all_files(path):    global final_data    print("-"*20 + "函数被调用" + "-"*20)    files = os.listdir(path)    for file in files:        if os.path.isfile(path + "/" +file):            print(file+">>>>>是文件")            filename,extension=os.path.splitext(file)            # 判断是不是文本文件            if extension == ".txt" :                print(filename+"#####是文本文件#####")                print("读取"+filename+"文件中的内容...........")                data = pd.read_table(path+'/' +file)                print(data)            elif extension=='.xlsx':                print(filename+"#####是Excel文件#####")                print("读取"+filename+"文件中的内容...........")                data = pd.read_excel(path+'/' +file)                print(data)            elif extension=='.csv':                print(filename + "是csv文件,是本次需要处理的文件")                # 获取文件内容                file_data = pd.read_csv(path +'/'+file)                final_data = final_data.append(file_data,ignore_index=True)                #append描述:在列表ls最后(末尾)添加一个元素object                print("《《《《合并"+filename+"文件数据》》》》")                        # 判断是不是文件夹        elif os.path.isdir(path+'/'+file):            print(file + "¥¥¥¥是文件夹¥¥¥¥¥¥")            get_all_files(path + '/' + file)get_all_files(path)print("数据合并完成")

Python遍历目录下文件、读取、千万条数据合并实例分析

开始合并,我们来查看一下合并后的数据:

Python遍历目录下文件、读取、千万条数据合并实例分析

 总共1000多万条数据,如果我们用Excel的话估计要很多时间将这么多表格合并,而且会很卡。

关于Python遍历目录下文件、读取、千万条数据合并实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯