使用python進(jìn)行拆分大文件的方法
更新時間:2018年12月10日 08:42:44 作者:IBoyMan
今天小編就為大家分享一篇使用python進(jìn)行拆分大文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
python按指定行數(shù)把大文件進(jìn)行拆分
如圖大文件有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/' # 計數(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個文件,最后一個文件行數(shù)760821,這樣就OK啦
經(jīng)測試16G文件所需時間如圖:不到兩分鐘
以上這篇使用python進(jìn)行拆分大文件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python變量名詳細(xì)規(guī)則詳細(xì)變量值介紹
這篇文章主要介紹了Python變量名詳細(xì)規(guī)則詳細(xì)變量值,Python需要使用標(biāo)識符給變量命名,其實標(biāo)識符就是用于給程序中變量、類、方法命名的符號(簡單來說,標(biāo)識符就是合法的名稱,下面葛小編一起進(jìn)入文章里哦阿姐更多詳細(xì)內(nèi)容吧2022-01-01深度學(xué)習(xí)詳解之初試機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)可應(yīng)用在各個方面,本篇將在系統(tǒng)性進(jìn)入機(jī)器學(xué)習(xí)方向前,初步認(rèn)識機(jī)器學(xué)習(xí),利用線性回歸預(yù)測波士頓房價,讓我們一起來看看吧2021-04-04