精华内容
下载资源
问答
  • 第一次学习py下的py最新版然而网上相关教程都是老版,各种语法错误(纠错使人印象深刻),也许效率不高,但是基本拿来就能用. 根目录下所有txt一次性合并去重,太大了跑的可慢了。。
  • Python合并多个txt文件

    千次阅读 2020-11-27 09:37:46
    所以希望通过pythontxt文件进行合并。 1.汉字转数字 合并txt文件需要遵循一个前后顺序,如果文件名中包含数字是最好的,尤其是位数相同的数字,这时文件名读取函数os.listdir会自动按照数字顺序读取。然而,若...

    在上古时代,由于阅读设备垃圾,所以很多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()
    
    展开全文
  • 因为整理字典,需要将多个txt文件合并且完成去重操作,此为第一版没有完成参数化,但实用性还可以。
  • 主要为大家详细介绍了python如何将两个txt文件内容合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • python 合并两个txt文件

    千次阅读 2019-11-21 21:16:25
    合并两个txt文件 合并两个文件,其实只要把文件2的内容追加到文件1中就可以了 例如,现有两个文件,file1和file2: file1.txt: 123 456 file2.txt: abc def 代码如下: file1 = 'file1.txt' file2 = 'file2....

    合并两个txt文件

    合并两个文件,其实只要把文件2的内容追加到文件1中就可以了
    例如,现有两个文件,file1和file2:
    file1.txt:

    123
    456

    file2.txt:

    abc
    def

    代码如下:

    file1 = 'file1.txt'
    file2 = 'file2.txt'
    
    def merge(file1, file2):
        f1 = open(file1, 'a+', encoding='utf-8')
        with open(file2, 'r', encoding='utf-8') as f2:
            f1.write('\n')
            for i in f2:
                f1.write(i)
    
    
    merge(file1, file2)
    
    

    结果会把file2中的内容,追加到file1后面
    file1.txt:

    123
    456
    abc
    def

    展开全文
  • 合并一个文件夹下所有txt文件 二、合并效果 三、python实现代码# -*- coding:utf-8*- import sys reload(sys) sys.setdefaultencoding('utf-8')import os import os.path import time time1=time.time()##########...

    一、需求分析
    合并一个文件夹下所有txt文件
    这里写图片描述

    这里写图片描述

    这里写图片描述

    二、合并效果
    这里写图片描述

    这里写图片描述

    三、python实现代码

    # -*- coding:utf-8*-
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    import os
    import os.path
    import time
    time1=time.time()
    
    
    
    ##########################合并同一个文件夹下多个txt################
    def MergeTxt(filepath,outfile):
        k = open(filepath+outfile, 'a+')
        for parent, dirnames, filenames in os.walk(filepath):
            for filepath in filenames:
                txtPath = os.path.join(parent, filepath)  # txtpath就是所有文件夹的路径
                f = open(txtPath)
                ##########换行写入##################
                k.write(f.read()+"\n")
    
        k.close()
    
        print "finished"
    
    
    if __name__ == '__main__':
        filepath="D:/course/"
        outfile="result.txt"
        MergeTxt(filepath,outfile)
        time2 = time.time()
        print u'总共耗时:' + str(time2 - time1) + 's'
    "D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/合并多个txt.py
    finished
    总共耗时:0.000999927520752s
    
    Process finished with exit code 0
    展开全文
  • 今天小编就为大家分享一篇python 实现将txt文件多行合并为一行并将中间的空格去掉方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • python 合并多个txt文件到一个csv文件

    千次阅读 2019-05-27 15:28:37
    import os import pandas as pd import numpy as np #传入参数:file_dir-文件...def file_list(file_dir,ext='.txt'): #将目标文件名保存为list L=list(filter(lambda filename: os.path.splitext(filename)[...

    import os
    import pandas as pd
    import numpy as np

    #传入参数:file_dir-文件所在路径,ext-目标文件后缀
    def file_list(file_dir,ext='.txt'):
        #将目标文件名保存为list
        L=list(filter(lambda filename: os.path.splitext(filename)[1] == ext,os.listdir(file_dir)))
        #初始化中间变量
        result=pd.DataFrame()
        tt=pd.DataFrame()
        #print(L)
        for i in L:
            #print(i)
            tdate=i[0:4] #取文件名前4位的日期值
            n=i.find('ym') #找到关键字’ym‘的index
            tag=i[n-1:n+1] #截取目标字符串
            f=pd.read_csv(i,header=None) #读入文件
            #定义拼接函数
            def con(x):
                return tdate+','+str(x)+','+tag
            a=f[0].apply(con) #应用拼接函数到数据框的列
            tt=pd.concat([result,a]) #结果整合
            result=tt #更新result
        tt.to_csv("rr.csv",index=False,header=False,encoding='GBK') #结果输出至csv文件
        return tt #屏幕输出,可注释

    file_dir="/Users/ym/Documents/test" #定义目录路径
    file_list(file_dir) #调用函数

    展开全文
  • python合并多个txt

    千次阅读 2019-06-04 17:47:10
    合并多个txt """ # 获取目标文件夹的路径 path = "F:/bj/新建文件夹/内容" # 获取当前文件夹中的文件名称列表 filenames = os.listdir(path) result = "result/merge.txt" # 打开当前目录下的result.txt文件,如果...
  • python实现两个文本合并 employee文件中记录了工号和姓名复制代码 代码如下:cat employee.txt:100 Jason Smith200 John Doe300 Sanjay Gupta400 Ashok Sharma bonus文件中记录工号和工资复制代码 代码如下:cat bonus...
  • 主要介绍了Python实现合并同一个文件夹下所有txt文件的方法,涉及Python针对文件的遍历、读取、写入等相关操作技巧,需要的朋友可以参考下
  • python合并文本文件示例代码。 python实现两个文本合并 employee文件中记录了工号和姓名 cat employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus文件中记录工号和工资 cat ...
  • # 合并函数 def merger(files_path): try: # 返回目录下所有文件名 files_list = os.listdir(files_path) # 打开一个文件装下所有数据 with open(bigfile_path, 'wb') as bigfile: print('开始合并。。。') #...
  • 使用python合并多个txt文件

    千次阅读 2020-04-08 17:44:37
    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') ...
  • 主要介绍了Python利用字典将两个通讯录文本合并为一个文本实例,具有一定借鉴价值,需要的朋友可以参考下
  • 主要介绍了Python实现将目录中TXT合并成一个大TXT文件的方法,涉及Python针对目录下文本文件的遍历、读取及写入等技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了Python 合并拼接字符串的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • Python3 合并TXT文件

    2019-01-31 16:30:00
    import os#获取目标文件夹的路径filedir = os.getcwd()+"\\testfile" #假设合并的所有文件存放在文件夹testfile中#获取当前文件夹中的文件名称列表 filenames=os.listdir(filedir)#print(filenames) #打开当前目录...
  • 众所周知Python文件处理操作方便快捷,下面这篇文章主要给大家介绍了关于Python文件操作之合并文本文件内容的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
  • Python批量合并多个txt文件

    千次阅读 2020-04-18 09:57:58
    # -*- coding:utf-8 -*- #os模块中包含很多操作文件和目录的函数 import os #获取目标文件夹的路径 meragefiledir = os.getcwd()+'\\MerageFiles' #获取当前文件夹中的...#打开当前目录下的result.txt文件,...
  • 前段时间前在网上看到一段面试题,要求如下: employee文件中记录了工号和姓名复制代码 代码如下: cat employee.txt:   100 Jason Smith   200 John Doe  ... 400 $1,250要求把两个文件合并并输出如下,
  • Python把多行文本合并

    2017-12-31 21:55:00
    在引用论文时,往往格式出错...# 文件空格和回车键处理工具infile = r'C:\Users\SAM\Desktop\新建文本文档.txt'outfile = r'C:\Users\SAM\Desktop\新建文本文档11.txt'f = open(infile);for line in f.readlines():...
  • 主要介绍了Python文本文件的合并操作方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 所以这里就是要将所有源代码按照目录和文件名作为标签,全部合并到一处,这样便于快速的搜索。查找,不是,那么查找下一个……于是很快便可以找到自己想要的实例,非常方便。当然,分开的源代码文件依然很有用,...
  • python——txt文本处理

    千次阅读 2019-06-19 18:51:13
    1.去除文本中的空行,写入另一个文本 # -*- coding:utf-8 -*- f=open('data.txt') g=open('data5.txt','w') try: while True: line=f.readline() if len(line)==0: break if line.count...
  • 本文实例讲述了Python实现的txt文件去重功能。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 import shutil a=0 readDir = "/Users/Administrator/Desktop/old.txt" #old writeDir = "/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,244
精华内容 18,097
关键字:

python合并txt文本

python 订阅