精华内容
下载资源
问答
  • python合并多个txt文件

    千次阅读 2019-05-09 16:29:07
    #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' #获取当前文件夹中的文件名称列表 filenames=os.listdir(filedir) #打开当前目录下的result.txt...

     

     

    
    #合并一个文件夹下的多个txt文件
    #coding=utf-8
    import os
    #获取目标文件夹的路径
    filedir = os.getcwd()+'\\数据'
    #获取当前文件夹中的文件名称列表
    filenames=os.listdir(filedir)
    #打开当前目录下的result.txt文件,如果没有则创建
    f=open('result.txt','w')
    i=0
    #先遍历文件名
    for filename in filenames:
        i+=1
        print(i)
        if i>0:
            filepath = filedir+'\\'+filename
            print(filepath)
            #遍历单个文件,读取行数
            for line in open(filepath,encoding='gbk', errors='ignore'):
                # print(str(line))
                f.writelines(line)
                # f.write('\n')
    #关闭文件
    f.close()

     

     

     

     
    展开全文
  • 主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python将多个txt文件进行上下合并

    python将多个txt文件进行上下合并,代码注释已给出

    import os
    import os.path
    
    
    filedir = 'txt/frame0'  # 填入要合并的文件夹名字
    filenames = os.listdir(filedir)  # 获取文件夹内每个文件的名字
    f = open('txt/frame0/all.txt', 'w')  # 以写的方式打开文件,没有则创建
    
    # 对每个文件进行遍历
    for filename in filenames:
        filepath = filedir + '/' + filename  # 将文件夹路径和文件名字合并
        for line in open(filepath):  # 循环遍历对每一个文件内的数据
            f.writelines(line)  # 将数据每次按行写入f打开的文件中
    
    f.close()  # 关闭
    
    展开全文
  • Python合并多个txt文件

    千次阅读 2020-11-27 09:37:46
    在上古时代,由于阅读设备垃圾,所以很多txt文件都被分割为以章为单位,一完整的文件往往要占据一文件夹,强迫症根本忍受不了。所以希望通过pythontxt文件进行合并。 1.汉字转数字 合并txt文件需要遵循一...

    在上古时代,由于阅读设备垃圾,所以很多txt文件都被分割为以章为单位,一个完整的文件往往要占据一个文件夹,强迫症根本忍受不了。所以希望通过python对txt文件进行合并。

    1.汉字转数字

    合并txt文件需要遵循一个前后顺序,如果文件名中包含数字是最好的,尤其是位数相同的数字,这时文件名读取函数os.listdir会自动按照数字顺序读取。然而,若文件名是通过汉字进行排序的,那就有些不妙了。

    对于型如一千二百五十五这样的汉字,千、百、十的作用显然强于一、二、五,因为它们决定了位数。如果说类似一、二、五这样的数字可以直接通过字典转化为1,2,5,那么千、百十则需要对其前面的数字乘以1000,100以及10。

    由于我要处理的文件一般不超过十万个,所以最大位数从万开始。

    unitDict={"零":0,"":1,"一":1,"二":2,"两":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9}
    decadeDict={"万":10000,"千":1000,"百":100,"十":10}
    #十万以内的汉字转数字
    def zh2num(name):
        val = 0
        for sym in decadeDict.copy():
            if sym in name:
                pre,name = name.split(sym)  #字符串分割
                val += decadeDict[sym]*unitDict[pre]
        if name != "":
            val += unitDict[name]
        return val
    

    2. 字符排序

    接下来,以汉字转数字为核心算法,来写一个字符排序的函数。由于我们不确定文件名中的序号到底是汉字还是数字,所以需要把二者都考虑进来,然后据此建立字典,通过字典的键对值进行排序,最后输出排好序的文件名列表。

    # 如果字符串中存在中文数字,对其进行排序
    def sortStr(files,flag=0):
        nums = "0123456789"
        zhs = list(unitDict.keys())+list(decadeDict.keys())
        sortDict = {}
        end = len(files)
        for f in files:
            nStr = "".join([c for c in list(f[:flag] if flag>0 else f) if c in nums])
            zStr = "".join([c for c in list(f[:flag] if flag>0 else f) if c in zhs])
            if nStr != "":
                sortDict[int(nStr)] = f
            elif zStr !="":
                sortDict[zh2num(zStr)] = f
            else:
                end += 1
                sortDict[end]=f
        return [sortDict[n] for n in np.sort(list(sortDict))]
    
    

    需要注意的是,这个函数的适用条件非常有限,如果想应对更多的情况,还是需要继续改进的。

    3. 文本文档合并

    最后写出主程序,输入文件路径后,通过os.listdir读取文件夹中的文件名,需要注意,打开文件的时候可能会遇到一些诡异的字符,所以我们选择忽略错误errors="ignore

    def emerge(path,flag=0):
        files = sortStr(os.listdir(path),flag)
        newTxt = open(path+".txt","w",encoding="GBK")
        
        path += "\\"
        for f in files:
            try:
                txt = open(path+f,"r",encoding='GBK',errors="ignore")
                newTxt.write(f.split(".txt")[0]+"\n")
                strs = txt.read()
                newTxt.write(strs+"\n")
            except Exception as e:
                print(path+f)
                print(e)
        newTxt.close()
    
    展开全文
  • Ana文件夹下有29个txt文件,想通过python将它们合并到一个txt文件中去。 import os root='E:\Programe\corpora' path='E:\Programe\corpora\Ana' files=os.listdir(path) result=os.path.join(root,'result.txt') ...

    Ana文件夹下有29个txt文件,想通过python将它们合并到一个txt文件中去。
    在这里插入图片描述

    import os
    
    root='E:\Programe\corpora'
    path='E:\Programe\corpora\Ana'
    files=os.listdir(path)
    result=os.path.join(root,'result.txt') #生成最终txt文件(result.txt)的路径
            
    with open(result,'w',encoding='utf-8-sig') as r:
        for i in range(1,30):
            print(i)
            fname=str(i)+'.txt'
            filename=os.path.join(path,fname)
            with open(filename,'r',encoding='utf-8-sig') as f:
                for line in f:
                    if'《' not in line: #跳过含有书名号《的行
                        r.writelines(line)
                r.write('\n')
    

    结果如下:
    在这里插入图片描述

    注意点:
    1.其实可以用os.listdir()函数来获取文件夹中每个txt文件的名字,但是我获取的是乱序的,且无法通过sort()或sorted()对其排序

    import os
    
    root='E:\Programe\corpora'
    path='E:\Programe\corpora\Ana'
    files=os.listdir(path)
    print(files)
    print(sorted(files))
    

    结果如下:
    在这里插入图片描述
    具体原因我也不知道

    2.对新读取的内容进行写入时,应写入在result文档的末尾

    import os
    
    root='E:\Programe\corpora'
    path='E:\Programe\corpora\Ana'
    files=os.listdir(path)
    
    for i in range(1,30):
        print(i)
        fname=str(i)+'.txt'
        filename=os.path.join(path,fname)
        with open(filename,'r',encoding='utf-8-sig') as f,open(result,'w',encoding='utf-8-sig') as r:
            for line in f:
                if'《' not in line: #跳过含有书名号《的行
                    r.writelines(line)
            r.write('\n')
    

    我最初用这样的代码,最后的result中只写入了最后一个txt文档的内容,因为每次读取一个新的txt时,都重新打开了result文档,在其开头写入,之前的内容就被覆盖掉了。解决方案之一就是使用seek()函数定位到result文档的末尾。

    展开全文
  • Python 合并多个TXT文件并统计词频!

    千次阅读 2019-08-23 14:45:09
    逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件将文件的内容写入新的 txt 中,然后对新 txt 文件进行词频统计,得到最终结果。 代码如下:(在Windows 10,Python 3.7.4环境下运行通过) Python资源共享...
  • python 合并多个txt文件到一个csv文件

    千次阅读 2019-05-27 15:28:37
    import os ...#传入参数:file_dir-文件所在路径,ext-目标文件后缀 def file_list(file_dir,ext='.txt'): #目标文件名保存为list L=list(filter(lambda filename: os.path.splitext(filename)[...
  •  apt install -y python-pip  pip install openpyxl 方法一: # cat test.py import os,sys,openpyxl from openpyxl import Workbook #os.chdir('C:/Users/IsBean/Desktop') wb = Workbook...
  • dirPath = "/media/pc" #所有txt位于的文件夹路径 files = os.listdir(dirPath) res = "" i = 0 for file in files: if file.endswith(".txt"): i += 1 title = "第%s章 %s" % (i, file[0:len(fi...
  • match_image.txt", "r") match_image_sim_class = open("match_image_sim_class.txt", "r") match_image_file = match_image.readlines() match_image_sim_class_file = mat...
  • num=int(input('请输入10以内的数值:'))+1for each in range(1,num):each=str(each)for each1 in range(1,num):each1=str(each1)if each1=each:continues=each+each1...这里介绍一种简单的方式,使用python的pan...
  • 今天小编就为大家分享一篇Python 批量合并多个txt文件的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python 批量合并多个txt文件

    万次阅读 2017-09-14 00:15:35
    Python 批量合并多个txt文件
  • python合并多个txt

    千次阅读 2019-06-04 17:47:10
    合并多个txt """ # 获取目标文件夹的路径 path = "F:/bj/新建文件夹/内容" # 获取当前文件夹中的文件名称列表 filenames = os.listdir(path) result = "result/merge.txt" # 打开当前目录下的result.txt文件,如果...
  • 主要为大家详细介绍了Python将多个excel文件合并为一个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 文件夹内所有txt文件合并成一个txt文件合并后的txt文件按章节对应原来每个txt文件,一输入文件是一章,章节名字就是原txt文件文件名。 import os dirPath = "dirpath" #所有txt位于的文件夹路径 files = ...
  • 在使用python进行合并多个txt的内容时,使用如下: with open(filepath,'w') as f: f.write(line) 会导致原来的filepath中的内容进行覆盖,如何进行不覆盖形式的编写呢,我们可以进行先读行再写的方式(先...
  • Python批量合并多个txt文件

    千次阅读 2020-04-18 09:57:58
    #os模块中包含很操作文件和目录的函数 import os #获取目标文件夹的路径 meragefiledir = os.getcwd()+'\\MerageFiles' #获取当前文件夹中的文件名称列表 filenames=os.listdir(meragefiledir) #打开当前目录...
  • python实现字符串输出到txt文件中,并合并多个txt文件
  • 实现批量txt的读取并合并到一个txt中进行输出,主要用于tcga数据的预处理
  • 等等多个txt文件,想要把它合并成1个txt文件。 因为数据量很大 所以不想用readline()逐行读取,求大牛指导有没有能整个追加文件的方法。 比如1.txt 123 334 234 jskdfs dka kdsk 2.txt dsfmks djks ...
  • 利用Python将多个excel文件合并为一个文件思路利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。完整代码# -*- coding: utf-8 -*-#将多个Excel...
  • 主要介绍了python合并多个excel文件的示例,帮助大家提高办公效率,感兴趣的朋友可以了解下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 754,128
精华内容 301,651
关键字:

python合并多个txt文件

python 订阅