python按指定行数把大文件进行拆分
如图大文件有7000多万行,大小为16G
需要拆分成多个200万行的小文件
代码如下:
# -*- coding:utf-8 -*- from datetime import datetime def Main(): source_dir = '/data/u_lx_data/zhangqm/sh/yanjie/liuxuesheng/jz_yuanshi_list0206.txt' target_dir = '/data/u_lx_data/zhangqm/sh/yanjie/liuxuesheng/split/' # 计数器 flag = 0 # 文件名 name = 1 # 存放数据 dataList = [] print("开始。。。。。") print(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) with open(source_dir,'r') as f_source: for line in f_source: flag+=1 dataList.append(line) if flag == 2000000: with open(target_dir+"jz_yuanshi_list_"+str(name)+".txt",'w+') as f_target: for data in dataList: f_target.write(data) name+=1 flag = 0 dataList = [] # 处理最后一批行数少于200万行的 with open(target_dir+"jz_yuanshi_list_"+str(name)+".txt",'w+') as f_target: for data in dataList: f_target.write(data) print("完成。。。。。") print(datetime.now().strftime('%Y-%m-%d %H:%M:%S')) if __name__ == "__main__": Main()
结果如下:
总共产生39个文件,最后一个文件行数760821,这样就OK啦
经测试16G文件所需时间如图:不到两分钟
以上这篇使用python进行拆分大文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。