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

yipeiwu_com6年前Python基础

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实现提取百度搜索结果的方法

本文实例讲述了python实现提取百度搜索结果的方法。分享给大家供大家参考。具体实现方法如下: # coding=utf8 import urllib2 import string...

VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解

本文实例讲述了VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法。分享给大家供大家参考,具体如下: 昨天试用了VPS,花了一天部署了一个简单...

Python分析彩票记录并预测中奖号码过程详解

Python分析彩票记录并预测中奖号码过程详解

0 引言 上周被一则新闻震惊到了,《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》,在2019年5月2日开奖的双色球中,广东中山一位彩民博中2454万元,兑奖时间截至2...

python类:class创建、数据方法属性及访问控制详解

python类:class创建、数据方法属性及访问控制详解

在Python中,可以通过class关键字定义自己的类,然后通过自定义的类对象类创建实例对象。 python中创建类 创建一个Student的类,并且实现了这个类的初始化函数”__ini...

python分布式计算dispy的使用详解

dispy,是用asyncoro实现的分布式并行计算框架。 框架也是非常精简,只有4个组件,在其源码文件夹下可以找到: dispy.py (client) provides two wa...