您的位置:首页 > 编程语言 > Python开发

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

2018-12-11 08:02 756 查看

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

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

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

结果如下:

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

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

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: