您好,登錄后才能下訂單哦!
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進行拆分大文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。