使用python進(jìn)行拆分大文件的方法
python按指定行數(shù)把大文件進(jìn)行拆分
如圖大文件有7000多萬行,大小為16G

需要拆分成多個(gè)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/'
# 計(jì)數(shù)器
flag = 0
# 文件名
name = 1
# 存放數(shù)據(jù)
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 = []
# 處理最后一批行數(shù)少于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()
結(jié)果如下:

總共產(chǎn)生39個(gè)文件,最后一個(gè)文件行數(shù)760821,這樣就OK啦
經(jīng)測(cè)試16G文件所需時(shí)間如圖:不到兩分鐘

以上這篇使用python進(jìn)行拆分大文件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python變量名詳細(xì)規(guī)則詳細(xì)變量值介紹
這篇文章主要介紹了Python變量名詳細(xì)規(guī)則詳細(xì)變量值,Python需要使用標(biāo)識(shí)符給變量命名,其實(shí)標(biāo)識(shí)符就是用于給程序中變量、類、方法命名的符號(hào)(簡(jiǎn)單來說,標(biāo)識(shí)符就是合法的名稱,下面葛小編一起進(jìn)入文章里哦阿姐更多詳細(xì)內(nèi)容吧2022-01-01
深度學(xué)習(xí)詳解之初試機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)可應(yīng)用在各個(gè)方面,本篇將在系統(tǒng)性進(jìn)入機(jī)器學(xué)習(xí)方向前,初步認(rèn)識(shí)機(jī)器學(xué)習(xí),利用線性回歸預(yù)測(cè)波士頓房?jī)r(jià),讓我們一起來看看吧2021-04-04
Selenium定位瀏覽器彈窗方法實(shí)例總結(jié)
彈出框是自動(dòng)化測(cè)試中一種常見的元素,這種元素通常是客戶端自帶的,下面這篇文章主要給大家介紹了關(guān)于Selenium定位瀏覽器彈窗方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
五分鐘學(xué)會(huì)怎么用Pygame做一個(gè)簡(jiǎn)單的貪吃蛇
這篇文章主要介紹了五分鐘學(xué)會(huì)怎么用Pygame做一個(gè)簡(jiǎn)單的貪吃蛇,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01

