zoukankan      html  css  js  c++  java
  • python批量读取txt文件为DataFrame

        我们有时候会批量处理同一个文件夹下的文件,并且希望读取到一个文件里面便于我们计算操作。比方我有下图一系列的txt文件,我该如何把它们写入一个txt文件中并且读取为DataFrame格式呢?



    首先我们要用到glob模块,这个python内置的模块可以说是非常的好用。

    glob.glob('*.txt')
    得到如下结果:


    all.txt是我最后得到的结果文件。可以见返回的是一个包含txt文件名称的列表,当然如果你的文件夹下面只有txt文件,那么你用os.listdir()可以得到一个一样的列表

    然后读取的时候只要注意txt文件的编码格式(可以用notepad++打开记事本查看)和间隔符的形式就好了,完整的代码如下:

    import os
    import pandas
    import codecs
    import glob
    import pandas as pd
    
    
    os.getcwd()
    os.chdir('D:AAAASXQpython studydata preprocessing')
    
    def txtcombine():
        
        files = glob.glob('*.txt')
        
        all = codecs.open('all.txt','a')
        
        for filename in flist:  
            print(filename)  
            fopen=codecs.open(filename,'r',encoding='utf-8')  
            lines=[]  
            lines=fopen.readlines()  
            fopen.close()  
            i=0  
            for line in lines:    
                for x in line:  
                    all.write(x)
            #读取为DataFrame格式
            all1 = pd.read_csv('all.txt',sep=' ',encoding='GB2312')
            #保存为csv格式
            all1.to_csv('all.csv',encoding='GB2312')
            
    if __name__ == '__main__':  
        txtcombine()


  • 相关阅读:
    SQL Server学习之路:建立数据库、建立表
    tomcat访问的重定向问题
    PAT A1107——并查集
    ^-^
    JSON.parse()和JSON.stringify()的用法
    Android——ViewHolder的作用与用法
    题解-Atcoder_agc005D ~K Perm Counting
    题解-bzoj2560 串珠子
    题解-Codeforces710F String Set Queries
    游记-NOIP2018
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9411634.html
Copyright © 2011-2022 走看看