使用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之玩转字符串(2)
Sep 14 Python
跟老齐学Python之从if开始语句的征程
Sep 14 Python
Python中input和raw_input的一点区别
Oct 21 Python
Python的类实例属性访问规则探讨
Jan 30 Python
python对html代码进行escape编码的方法
May 04 Python
pandas使用get_dummies进行one-hot编码的方法
Jul 10 Python
基于python代码实现简易滤除数字的方法
Jul 17 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
人工神经网络算法知识点总结
Jun 11 Python
Python 自由定制表格的实现示例
Mar 20 Python
Python实现Excel自动分组合并单元格
Feb 22 Python
pandas DataFrame.shift()函数的具体使用
May 24 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
js获取form的方法
2015/05/06 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
layui 给数据表格加序号的方法
2018/08/20 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
Python中特殊函数集锦
2015/07/27 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
Python 闭包的使用方法
2017/09/07 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
python利用xlsxwriter模块 操作 Excel
2020/10/14 Python
python3实现简单飞机大战
2020/11/29 Python
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
爱情保证书大全
2014/04/29 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
企业负责人任命书
2014/06/05 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
无工作证明怎么写
2015/06/15 职场文书
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB