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

发布时间:2022-01-10 18:47:40 作者:柒染
来源:亿速云 阅读:229

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

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

import os
path= "./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 pd
import 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遍历目录下文件、读取、千万条数据合并实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. python如何读取.mat文件的数据
  2. python如何读取各种文件数据

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 遍历 文件

上一篇:怎样进行Visual Studio分析

下一篇:vue如何解决axios请求出现前端跨域问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》