精华内容
下载资源
问答
  • Python合并多个文件
    2022-02-21 16:13:00

            之前使用Python爬小说写的一个合并脚本,有需要的自取,如需要小说爬取脚本请留言评论。 

    #!/usr/bin/env python
    # encoding: utf-8
    
    """
    Created on 2022年02月21日
    @author: hfasdh
    @site: https://blog.csdn.net/hfasdh
    @email: 35***@qq.com
    @description: 本程序用于多线程批量爬取小说完成后的文本文件合并,如有其他需求可自行拓展
    """
    
    import os
    import sys
    
    # 获取目标文件夹的路径
    fileDir = 'F:\\work\\python\\bookSpider\\book\\某念某恒'
    # 获取当前文件夹中的文件名称列表
    filenames = os.listdir(fileDir)
    
    # 打开目标txt文件,如果没有则创建
    f = open(fileDir + '.txt', 'a', encoding='utf-8')
    
    # 先遍历文件名,建议下载的文件在文件名前加上序号,便于按照顺序合并
    print('开始合并[' + fileDir + ']目录下文件...')
    
    # 遍历单个文件
    count = 0
    total = len(filenames)
    for filename in filenames:
        filepath = fileDir + os.sep + filename
        # 读取文件的行数增量写到目标文件去
        for line in open(filepath, 'r', encoding='utf-8'):
            f.writelines(line)
        count = count + 1
        sys.stdout.write("\r已下载: %.2f%%" % float((count / total) * 100))
        sys.stdout.flush()
    
    # 关闭文件
    f.close()
    
    print('\n合并完成: ' + fileDir)
    
    # 打开目标文件夹
    os.startfile(os.path.dirname(fileDir))
    

    更多相关内容
  • 本文给大家汇总介绍了3种合并文本文件的方法,程序的实现思路都非常不错,这里推荐给大家,有需要的小伙伴可以参考下。
  • 1,python 合并文件支持两种用法:(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)(2)显示的合并多文件。代码: 代码示例:import sysimport os'''usage(1): merge_files pathnamepathname is directory and ...

    在用python对多个文件进行分析时,如果每次读取多个文件,不是很方便。

    需要对源文件进行合并预处理。

    1,python 合并文件

    支持两种用法:

    (1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)

    (2)显示的合并多文件。

    代码: 代码示例:

    import sys

    import os

    '''

    usage(1): merge_files pathname

    pathname is directory and merge files in pathname directory

    usage(2): merge_files file1 file2 [file3[...]]

    '''

    FILE_SLIM = (256*(1024*1024)) #256M match 2**n

    def merge_files(fileslist,mfname):

    global FILE_SLIM

    p_fp = open(mfname,"wba")

    for file in fileslist:

    with open(file,"rb") as c_fp:

    fsize = os.stat(file).st_size

    count = fsize&FILE_SLIM

    while count>0:

    p_fp.write(c_fp.read(FILE_SLIM))

    fsize -= FILE_SLIM

    count -= 1

    p_fp.write(c_fp.read())

    p_fp.close

    def main():

    argc = len(sys.argv) - 1

    fileslist = []

    if argc == 2:

    dir_name = os.path.realpath(sys.argv[1])

    assert(os.path.isdir(dir_name))

    file_dir = os.listdir(dir_name)

    fileslist = [os.path.join(dir_name,file) for file in file_dir if os.path.isfile(os.path.join(dir_name,file))]

    print(fileslist)

    elif argc >=3:

    fileslist = [os.path.realpath(sys.argv[index]) for index in range(1,argc) if os.path.isfile(os.path.realpath(sys.argv[index]))]

    merge_files(fileslist,sys.argv[argc])

    if __name__ == '__main__':

    main()

    2,python将多个文本文件合并为一个文本的代码

    将所有源代码按照目录和文件名作为标签,全部合并到一处,这样便于快速的搜索。查找,不是,那么查找下一个……于是很快便可以找到自己想要的实例,非常方便。当然,分开的源代码文件依然很有用,同样可以保留。合并之后的源代码文件并不大,n*100KB而已,打开和搜索都是很快速的。大家可以将同一种编程语言的所有实例通过这种方法全部合并为一个文件,搜索的效率就会大大提高。

    注意:保存代码之后,将源文件复制到目录下,同一目录下的所有目录和其子目录都会被搜索;你可以加上后缀限定,只获取某种格式的文件的内容即可;

    源代码如下,请复制后保存: 代码示例:

    # -*- coding: utf-8 -*-

    import os,sys

    info = os.getcwd()

    fout = open('note.tpy', 'w') # 合并内容到该文件

    def writeintofile(info):

    fin = open(info)

    strinfo = fin.read()

    # 利用##作为标签的点缀,你也可以使用其他的

    fout.write('\n##\n')

    fout.write('## '+info[-30:].encode('utf-8'))

    fout.write('\n##\n\n')

    fout.write(strinfo)

    fin.close()

    for root, dirs, files in os.walk(info):

    if len(dirs)==0:

    for fl in files:

    info = "%s\%s" % (root,fl)

    if info[-2:] == 'py': # 只将后缀名为py的文件内容合并

    writeintofile(info)

    fout.close()

    如果不想合并内容,只想获得一个文件名的清单文件。

    例如,有的作者就会使用这个功能为自己生成一个源代码文件清单。

    代码: 代码示例:

    # -*- coding: utf-8 -*-

    '''

    程序自动搜索指定的目录,

    打印所有文件的完整文件名到指定的文件中

    '''

    import os,sys

    export = ""

    i=1

    for root, dirs, files in os.walk(r'..'):

    #r'.'表示当前目录中的所有清单

    #..表示平行的其他目录,多出很多内容

    export += "--%s--\n%s\n\n%s\n\n" % (i,root,'\n'.join(files))

    i=i+1

    fp = open('

    cdcfile-4.txt', 'w')

    fp.write(export)

    fp.close()

    展开全文
  • 支持两种用法:(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)(2)显示的合并文件。复制代码 代码如下:import sysimport os”’ usage(1): merge_files pathname pathname is directory and merge files...
  • goodfake !
  • 主要介绍了Python实现分割文件及合并文件的方法,涉及Python针对文件的分割与合并操作相关技巧,通过自定义函数split与join实现了文件的分割与合并操作,需要的朋友可以参考下
  • 下面是一种用python分割与合并分件的实现。 import os FILE_DIR = os.path.dirname(os.path.abspath(__file__)) #======================================================== # 文件操作 #=======================...
  • 61.建立指定路径(D:\HB,文件夹名:HB ,内部放置需要合并的数据库mdb或gdb或shp)2.在arcgis工具箱加载后直接使用(注意HB文件夹内的第一个数据库需完整的要素,只读取第一个数据库内的层,其他的数据库都是追加到...
  • python实现两个文本合并 employee文件中记录了工号和姓名复制代码 代码如下:cat employee.txt:100 Jason Smith200 John Doe300 Sanjay Gupta400 Ashok Sharma bonus文件中记录工号和工资复制代码 代码如下:cat bonus...
  • 主要介绍了使用 Python 合并多个格式一致的 Excel 文件,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 工作中经常遇到要将十几个Excel(不管是xls、或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通过list的append加在一起...
  • 利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 # -*- coding: utf-8 -*- #将多...
  • 今天小编就为大家分享一篇使用Python横向合并excel文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 因为整理字典,需要将多个txt文件合并且完成去重操作,此为第一版没有完成参数化,但实用性还可以。
  • 主要为大家详细介绍了python实现两个文件合并功能,一个简单的文件合并程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Python本地文件合并一、单文件之间合并二、单个文件夹底下多个文件合并三、多个文件夹底下多个文件合并四、多文件夹[函数递归] 注: 本篇博客的文件合并主要是针对.csv的文件合并。 关于文件合并的一些数据,我会...


    注:

    1. 本篇博客的文件合并主要是针对.csv的文件合并。
    2. 关于文件合并的一些数据,我会放在我的gitee里面,是关于新冠疫情的数据整理,需要的可以自行获取:covid19数据整理

    # 三、多个文件夹底下多个文件合并

    一、单文件之间合并

    首先,要查询目录底下的文件要导入OS。并且我们要将.csv文件以pandas的dataframe底下,因此要导入PANDAS,另外由于我们要遍历目录,因此导入 GLOB:

    import os
    import pandas as pd 
    import glob
    

    注:

    1. import os的作用:在python环境下对文件,文件夹执行操作的一个模块。
    os.name返回当前系统
    os.getcwd()返回当前的路径
    os.remove(路径)删除路径下的文件
    
    1. import glob的作用: glob是python自带的一个操作文件的相关模块,由于模块功能比较少,所以很容易掌握。用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到: “*”, “?”, “[]”这三个匹配符;
    ”*”匹配0个或多个字符;
    ”?”匹配单个字符;
    ”[]”匹配指定范围内的字符,如:[0-9]匹配数字。
    
    f1=open('../input/covid19temp/2020/12-30-2020.csv').read()
    f2=open('../input/covid19temp/2020/12-31-2020.csv').read()
    
    with open('f1112.csv','a+') as f:
        f.write('\n'+f1)
        f.write('\n'+f2)
    

    在这里插入图片描述
    合并完成之后就会多出一个f1112.csv文件:
    在这里插入图片描述
    然而打开f1112.csv后发现合并后的文件有一些脏数据没有整理:
    在这里插入图片描述
    这时候我们试试skiprows:
    在读取文件的时候设置skiprows参数的值,设置为1,会跳过一行,这里是要将第二个文件的索引属性给去掉,因为已经和第一个文件合并了,而第一个文件有索引属性了。

    f1=pd.read_csv('../input/covid19temp/2020/12-30-2020.csv')
    f2=pd.read_csv('../input/covid19temp/2020/12-31-2020.csv',skiprows=1)
    f1112=f1.append(f2)
    
    f1112.to_csv('f1112.csv') # 导出该文件
    

    在这里插入图片描述
    在本地目录中打开该文件:
    在这里插入图片描述
    在这里插入图片描述

    二、单个文件夹底下多个文件合并

    csv_list=glob.glob('../input/covid19temp/2020/*.csv') 
    # 如果不加上*的话拿到的就是目录的名称,如果加上*,拿到的就是完整的目录数据
    print(csv_list)
    

    在这里插入图片描述

    for i in csv_list:  
        fr=open(i,'r').read()
        with open('2020csvdata.csv','a') as f:
            f.write(fr)
        f.close()
    print('数据文件合并完成!')
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    csv_list=glob.glob('../input/covid19temp/2020/*')
    for i in csv_list:
        fr=open(i,'rb').read()
        with open('2020csvdata2.csv','ab') as f:
            f.write(fr)
        f.close()
    print('数据文件合并完成!')
    

    在这里插入图片描述

    csv_list=glob.glob('../input/covid19temp/2020/*')
    csvdatadf=pd.DataFrame()
    for i in csv_list:
        csvdata=pd.read_csv(i)
        csvdatadf=csvdatadf.append(csvdata)
    print('数据文件合并完成!')
    

    合并之后使用pd.read_csv读取文件数据,一共有20W+的疫情数据记录:
    在这里插入图片描述

    三、多个文件夹底下多个文件合并

    import os
    import pandas as pd 
    import glob
    import openpyxl
    import numpy as np
    
    path='../input/covid19temp' # 写的路径
    csv_lists=[] # 该列表的作用
    
    # 是否更新目录判断:
    if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
        if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
            path+="/"
            print(path)
    

    在这里插入图片描述
    如上图所示,路径后面多了一个 ‘/’,否则路径会找不到

    文件操作:

    1. os.listdir(): 列出路径下所有的文件
    2. os.path.join(): 连接文件的作用
    3. os.path.isdir(): 判断是否是文件夹
    import os
    import pandas as pd 
    import glob
    import openpyxl
    import numpy as np
    
    path='../input/covid19temp' # 写的路径
    csv_lists=[] # 该列表的作用
    
    # 是否更新目录判断:
    if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
        if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
            path+="/"
            print(path)
            for each in os.listdir(path):# os.listdir(): 列出路径下所有的文件
                print(each)
    

    在这里插入图片描述
    在这里插入图片描述

    import os
    import pandas as pd 
    import glob
    import openpyxl
    import numpy as np
    
    path='../input/covid19temp' # 写的路径
    csv_lists=[] # 该列表的作用
    
    # 是否更新目录判断:
    if os.path.isdir(path): #使用os.path.isdir判断path是否是路径
        if not path.endswith("/"):# 如果该路径的最后没有加上'/'的话,会帮忙加一个/
            path+="/"
            print(path)
            for each in os.listdir(path):# os.listdir(): 列出路径下所有的文件
                print(each)
                sub_path=path+each
                path_list=[]
                if os.path.isdir(sub_path):
                    path_list.append(sub_path)
                    csv_lists.append(path_list) # 生成主目录下路径列表(非文件)
    # 根据路径进行路径下文件列表的生成
    csvlists=[]
    for i in range(len(csv_lists)):
    #    print(i)
        csvlists.append(glob.glob(csv_lists[i][0]+'/*.csv')) 
    csvlists
    
    # 获取每年的文件路径
    csvfilelist=[]
    for j in range(len(csvlists)):
        for k in csvlists[j]:
            csvfilelist.append(k)
    csvfilelist
    
    csvdatadf=pd.DataFrame()
    for m in csvfilelist:
        filesize=os.path.getsize(m)
        if filesize>0:
            csvdata=pd.read_csv(m)
            csvdatadf=csvdatadf.append(csvdata)
        else:
            continue
        
    print('数据合并完成')
    

    四、多文件夹[函数递归]

    import os 
    import pandas as pd 
    def mergeFiles(parent,path="",pathdeep=0):
        fileAbsPath=os.path.join(parent,path)
        if os.path.isdir(fileAbsPath)==True:
            if (pathdeep!=0 and('.ipynb_checkpoints' not in str(fileAbsPath))):
                print('=='+path)
            for filename2 in os.listdir(fileAbsPath):
                mergeFiles(fileAbsPath,filename2,pathdeep=pathdeep+1)
        else:
            print(path)
    path=input("请输入需要的文件注主目录:")
    mergeFiles(path)
    

    在这里插入图片描述

    展开全文
  • python合并文件(excel,txt,csv等等)

    千次阅读 2019-08-06 16:22:38
    python合并文件(excel,txt,csv等等) 我相信大家日常工作中也会遇到这种合并文件的问题(合并excel,合并csv,合并txt),如果数量少,我们可以直接打开,然后手动复制粘贴到另一个文件当中。但数量多的情况下,...

    python合并文件(excel,txt,csv等等)

    我相信大家日常工作中也会遇到这种合并文件的问题(合并excel,合并csv,合并txt),如果数量少,我们可以直接打开,然后手动复制粘贴到另一个文件当中。但数量多的情况下,我们需要耗费大量的时间来做这件重复的事情,并且还容易发生意想不到的错误,比如少复制了内容,粘贴的时候放错位等等。现在就教大家如何用python来快速解决这个很繁琐的问题!

    这个代码我们将会用到一个python自带模块glob。
    这个模块是查找符合特定规则的文件路径名。
    查找文件只用到三个匹配符:””, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符。
    比如:*.txt就是匹配所有的txt文件
    此代码在python3.5下编写测试

    下面是代码部分

    import glob
    #匹配获取目录下所有xlsx文件路径
    csvx_list = glob.glob('C:/Users/Administrator/Desktop/*.xlsx')
    print('总共发现%s个xlsx文件'% len(csvx_list))
    #遍历打开所获取到的文件
    for i in csvx_list:
        fr = open(i,'r',encoding='utf8').read()
        # 创建一个新的文件,将前面所有内容写入这个文件里面
        with open('C:/Users/Administrator/Desktop/all_xlsx.xlsx','a',encoding='utf8') as f:
            f.write(fr)
    print('写入完毕!')
    

    关注公众号‘小鸡资源库’,公众号文章以python为主。还有各种资源。大数据,人工智能,python,数据分析,数据库,android,MATLAB,go语言,区块链,php,vue等等资源应有尽有:;
    在这里插入图片描述

    展开全文
  • python 文件合并

    千次阅读 2019-04-29 19:33:59
    现在需要合并下某些txt文件,比如: 现在在文件夹1和文件夹下都有box.txt文件,但是需要把他们合并一起放到一个新的文件夹下,怎么实现呢? 1.原始文件 2.合并效果 3.完整代码 import os def merge_txt(): ...
  • 第一次学习py下的py最新版然而网上相关教程都是老版,各种语法错误(纠错使人印象深刻),也许效率不高,但是基本拿来就能用. 根目录下所有txt一次性合并去重,太大了跑的可慢了。。
  • 这篇文章主要介绍了Python如何把多个PDF文件合并,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 from PyPDF2 import PdfFileMerger import os files...
  • 主要介绍了Python实现合并同一个文件夹下所有txt文件的方法,涉及Python针对文件的遍历、读取、写入等相关操作技巧,需要的朋友可以参考下
  • 主要介绍了使用python将多个excel文件合并到同一个文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要为大家详细介绍了python如何将两个txt文件内容合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法,结合实例形式分析了Python将图片文件转换为pdf文件的相关操作技巧,需要的朋友可以参考下
  • python面试题文件合并

    2018-07-16 17:50:53
    文件一 123 456 789 文件二 abc def hjg 合并后形式为 1a2b3c 4d5e6f 7h8j9g
  • 主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了Python文本文件合并操作方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 使用Python来进行文件的分割与合并是非常简单的。 python代码如下: splitFile–将文件分割成大小为chunksize的块; mergeFile–将众多文件合并成原来的文件; # coding=utf-8 import os,sys reload(sys) sys....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 119,956
精华内容 47,982
关键字:

python合并文件

友情链接: CGUK.zip