使用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)測試16G文件所需時(shí)間如圖:不到兩分鐘
以上這篇使用python進(jìn)行拆分大文件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python變量名詳細(xì)規(guī)則詳細(xì)變量值介紹
這篇文章主要介紹了Python變量名詳細(xì)規(guī)則詳細(xì)變量值,Python需要使用標(biāo)識符給變量命名,其實(shí)標(biāo)識符就是用于給程序中變量、類、方法命名的符號(簡單來說,標(biāo)識符就是合法的名稱,下面葛小編一起進(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)識機(jī)器學(xué)習(xí),利用線性回歸預(yù)測波士頓房價(jià),讓我們一起來看看吧2021-04-04Selenium定位瀏覽器彈窗方法實(shí)例總結(jié)
彈出框是自動化測試中一種常見的元素,這種元素通常是客戶端自帶的,下面這篇文章主要給大家介紹了關(guān)于Selenium定位瀏覽器彈窗方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06五分鐘學(xué)會怎么用Pygame做一個(gè)簡單的貪吃蛇
這篇文章主要介紹了五分鐘學(xué)會怎么用Pygame做一個(gè)簡單的貪吃蛇,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01