-
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))
更多相关内容 -
python实现文本文件合并
2020-09-21 18:57:19本文给大家汇总介绍了3种合并文本文件的方法,程序的实现思路都非常不错,这里推荐给大家,有需要的小伙伴可以参考下。 -
python 合并文件与合并文本的实例代码
2020-12-29 07:55:501,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()
-
python 合并文件的具体实例
2020-12-24 21:06:02支持两种用法:(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)(2)显示的合并多文件。复制代码 代码如下:import sysimport os”’ usage(1): merge_files pathname pathname is directory and merge files... -
python 合并json文件代码
2020-11-15 09:56:03goodfake ! -
Python实现分割文件及合并文件的方法
2020-09-21 22:13:39主要介绍了Python实现分割文件及合并文件的方法,涉及Python针对文件的分割与合并操作相关技巧,通过自定义函数split与join实现了文件的分割与合并操作,需要的朋友可以参考下 -
python实现大文件分割与合并
2020-12-31 01:17:07下面是一种用python分割与合并分件的实现。 import os FILE_DIR = os.path.dirname(os.path.abspath(__file__)) #======================================================== # 文件操作 #=======================... -
数据合并工具,文件合并工具,Python
2021-09-10 20:12:1961.建立指定路径(D:\HB,文件夹名:HB ,内部放置需要合并的数据库mdb或gdb或shp)2.在arcgis工具箱加载后直接使用(注意HB文件夹内的第一个数据库需完整的要素,只读取第一个数据库内的层,其他的数据库都是追加到... -
python合并文本文件示例
2020-12-25 04:34:54python实现两个文本合并 employee文件中记录了工号和姓名复制代码 代码如下:cat employee.txt:100 Jason Smith200 John Doe300 Sanjay Gupta400 Ashok Sharma bonus文件中记录工号和工资复制代码 代码如下:cat bonus... -
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2020-09-18 08:01:29主要介绍了使用 Python 合并多个格式一致的 Excel 文件,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 -
python合并多个excel文件的示例
2020-12-16 22:11:02工作中经常遇到要将十几个Excel(不管是xls、或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通过list的append加在一起... -
Python将多个excel文件合并为一个文件
2020-12-24 19:54:53利用Python,将多个excel文件合并为一个文件 思路 利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。 完整代码 # -*- coding: utf-8 -*- #将多... -
使用Python横向合并excel文件的实例
2020-09-19 20:50:48今天小编就为大家分享一篇使用Python横向合并excel文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python txt文件合并去重 hbqc.py
2019-10-02 10:00:19因为整理字典,需要将多个txt文件合并且完成去重操作,此为第一版没有完成参数化,但实用性还可以。 -
python实现两个文件合并功能
2020-09-20 16:12:55主要为大家详细介绍了python实现两个文件合并功能,一个简单的文件合并程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Python本地文件合并(csv)
2022-02-14 08:05:59Python本地文件合并一、单文件之间合并二、单个文件夹底下多个文件合并三、多个文件夹底下多个文件合并四、多文件夹[函数递归] 注: 本篇博客的文件合并主要是针对.csv的文件合并。 关于文件合并的一些数据,我会...Python本地文件合并
注:- 本篇博客的文件合并主要是针对
.csv
的文件合并。 - 关于文件合并的一些数据,我会放在我的
gitee
里面,是关于新冠疫情的数据整理,需要的可以自行获取:covid19数据整理
一、单文件之间合并
首先,要查询目录底下的文件要导入OS。并且我们要将.csv文件以pandas的dataframe底下,因此要导入PANDAS,另外由于我们要遍历目录,因此导入 GLOB:
import os import pandas as pd import glob
注:
import os
的作用:在python环境下对文件,文件夹执行操作的一个模块。
os.name返回当前系统 os.getcwd()返回当前的路径 os.remove(路径)删除路径下的文件
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)
如上图所示,路径后面多了一个‘/’
,否则路径会找不到文件操作:
os.listdir():
列出路径下所有的文件os.path.join():
连接文件的作用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:38python合并文件(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(): ... -
python3.7.2下多个txt文件合并去重
2019-03-09 02:30:56第一次学习py下的py最新版然而网上相关教程都是老版,各种语法错误(纠错使人印象深刻),也许效率不高,但是基本拿来就能用. 根目录下所有txt一次性合并去重,太大了跑的可慢了。。 -
Python如何把多个PDF文件合并代码实例
2020-12-20 16:30:56这篇文章主要介绍了Python如何把多个PDF文件合并,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 from PyPDF2 import PdfFileMerger import os files... -
Python实现合并同一个文件夹下所有txt文件的方法示例
2020-09-20 14:03:47主要介绍了Python实现合并同一个文件夹下所有txt文件的方法,涉及Python针对文件的遍历、读取、写入等相关操作技巧,需要的朋友可以参考下 -
使用python将多个excel文件合并到同一个文件的方法
2020-09-19 03:03:55主要介绍了使用python将多个excel文件合并到同一个文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
python如何将两个txt文件内容合并
2020-09-18 13:32:34主要为大家详细介绍了python如何将两个txt文件内容合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2020-09-20 13:33:09主要介绍了Python结合ImageMagick实现多张图片合并为一个pdf文件的方法,结合实例形式分析了Python将图片文件转换为pdf文件的相关操作技巧,需要的朋友可以参考下 -
python面试题文件合并
2018-07-16 17:50:53文件一 123 456 789 文件二 abc def hjg 合并后形式为 1a2b3c 4d5e6f 7h8j9g -
Python 合并多个TXT文件并统计词频的实现
2020-09-18 18:29:10主要介绍了Python 合并多个TXT文件并统计词频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
Python文本文件的合并操作方法代码实例
2020-09-17 15:37:14主要介绍了Python文本文件的合并操作方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
python实现文件的分割与合并
2020-12-26 10:28:44使用Python来进行文件的分割与合并是非常简单的。 python代码如下: splitFile–将文件分割成大小为chunksize的块; mergeFile–将众多文件块合并成原来的文件; # coding=utf-8 import os,sys reload(sys) sys....