使用python进行拆分大文件的方法


Posted in Python onDecember 10, 2018

python按指定行数把大文件进行拆分

如图大文件有7000多万行,大小为16G

使用python进行拆分大文件的方法

需要拆分成多个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()

结果如下:

使用python进行拆分大文件的方法

总共产生39个文件,最后一个文件行数760821,这样就OK啦

经测试16G文件所需时间如图:不到两分钟

使用python进行拆分大文件的方法

以上这篇使用python进行拆分大文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分析Python中解析构建数据知识
Jan 20 Python
Tensorflow之Saver的用法详解
Apr 23 Python
Python 修改列表中的元素方法
Jun 26 Python
python读取LMDB中图像的方法
Jul 02 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
python绘制直方图和密度图的实例
Jul 08 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
用python介绍4种常用的单链表翻转的方法小结
Feb 24 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Python与C/C++的相互调用案例
Mar 04 Python
正确的理解和使用Django信号(Signals)
Apr 14 Python
python使用udp实现聊天器功能
Dec 10 #Python
Python面向对象之类和对象实例详解
Dec 10 #Python
详解Django-auth-ldap 配置方法
Dec 10 #Python
Python网页正文转换语音文件的操作方法
Dec 09 #Python
python 使用 requests 模块发送http请求 的方法
Dec 09 #Python
Python实现八皇后问题示例代码
Dec 09 #Python
python中的tcp示例详解
Dec 09 #Python
You might like
php启用zlib压缩文件的配置方法
2013/06/12 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
jQuery实现统计复选框选中数量
2014/11/24 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
python构建自定义回调函数详解
2017/06/20 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
材料物理专业个人求职信
2013/12/15 职场文书
初三班主任寄语大全
2014/04/04 职场文书
小学教师培训方案
2014/06/09 职场文书
地道战观后感
2015/06/04 职场文书
主婚人致辞精选
2015/07/28 职场文书
初中毕业生感言
2015/07/31 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
mysql数据库如何转移到oracle
2022/12/24 MySQL