国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

用Python實現大文本文件切割的方法

2020-02-16 00:37:59
字體:
來源:轉載
供稿:網友

在實際工作中,有些場景下,因為產品既有功能限制,不支持特大文件的直接處理,需要把大文件進行切割處理。

當然可以通過UltraEdit編輯工具,或者從網上下載一些文件切割器之類的。但這些要么手工操作太麻煩,要么不能滿足自定義需求。

而且,對程序員來說,DIY一個輪子還是有必要的。

Python作為快速開發工具,其代碼表達力強,開發效率高,因此用Python快速寫一個,還是可行的。

需求描述:

輸入:給定一個帶列頭的csv文件,或者txt文件,或者其他文本文件。

輸出:指定單文件內部行數的一系列可區分小文件。

開發環境:Python 3.6

代碼如下:

# -*- coding: cp936 -*-import osimport time def mkSubFile(lines,head,srcName,sub): [des_filename, extname] = os.path.splitext(srcName) filename = des_filename + '_' + str(sub) + extname print( 'make file: %s' %filename) fout = open(filename,'w') try:  fout.writelines([head])  fout.writelines(lines)  return sub + 1 finally:  fout.close() def splitByLineCount(filename,count): fin = open(filename,'r') try:  head = fin.readline()  buf = []  sub = 1  for line in fin:   buf.append(line)   if len(buf) == count:    sub = mkSubFile(buf,head,filename,sub)    buf = []  if len(buf) != 0:   sub = mkSubFile(buf,head,filename,sub)  finally:  fin.close() if __name__ == '__main__': begin = time.time() splitByLineCount('盂縣.csv',600000) end = time.time() print('time is %d seconds ' % (end - begin))

測試結果:

1.4GB的csv文件,13列數據,切分成23個小文件,耗時55秒。

以上這篇用Python實現大文本文件切割的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化县| 陆河县| 湖州市| 康定县| 吕梁市| 自贡市| 南宁市| 新余市| 江源县| 万盛区| 河东区| 苍溪县| 全椒县| 盐亭县| 弋阳县| 霍林郭勒市| 冕宁县| 论坛| 敖汉旗| 尚义县| 壤塘县| 岑溪市| 无锡市| 炎陵县| 乌拉特中旗| 正宁县| 凭祥市| 隆林| 江陵县| 伊宁县| 宜丰县| 平昌县| 白河县| 阳原县| 浙江省| 遂平县| 大同县| 肥乡县| 区。| 连平县| 汉寿县|