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

yipeiwu_com5年前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遍历目录中的所有文件的方法

os.walk生成器 os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是...

Python列表解析配合if else的方法

用习惯列表解析之后会觉得超级酷,所以在尝试使用列表解析,把循环什么的写在一行里面。使用if的时候什么时候必须要有else,什么时候可以没有else一直没搞明白,直到今天!待我缓缓道来:...

Python函数中的函数(闭包)用法实例

本文实例讲述了Python闭包的用法。分享给大家供大家参考,具体如下: Python函数中也可以定义函数,也就是闭包。跟js中的闭包概念其实差不多,举个Python中闭包的例子。 d...

通过实例解析Python调用json模块

这篇文章主要介绍了通过实例解析Python调用json模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 今天介绍一种数据格式...

windows下安装Python虚拟环境virtualenvwrapper-win

1、安装 执行命令 pip install virtualenv 为了使用virtualenv更方便,可以借助 virtualenvwrapper 执行命令 pip install vi...