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進行拆分大文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答