使用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安装oracle扩展及数据库连接方法

本文实例讲述了python安装oracle扩展及数据库连接方法。分享给大家供大家参考,具体如下: 下载: cx_Oracle下载地址:http://cx-oracle.sourcefor...

Python的迭代器和生成器使用实例

一、迭代器Iterators 迭代器仅是一容器对象,它实现了迭代器协议。它有两个基本方法: 1)next方法 返回容器的下一个元素 2)__iter__方法 返回迭代器自身 迭代器可使用...

python实现整数的二进制循环移位

python实现整数的二进制循环移位

题目:如何在python中实现整数的二进制循环移位? 概述 在python中,可以通过<<以及>>运算符实现二进制的左移位以及右移位,然而并没有实现循环移位的运算...

在Python中通过getattr获取对象引用的方法

getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用。 >>> li = ["Larry", "Curly"] >...

疯狂上涨的Python 开发者应从2.x还是3.x着手?

疯狂上涨的Python 开发者应从2.x还是3.x着手?

纵观各大编程语言在 2017 年的发展情况,我们会发现涌现出诸如 Go、Swift 这类后起之秀,而其中最为耀眼的当属 Python。之所以 Python 如此受捧,不仅仅是人工智能、数...