在實際工作中,www.cppcns.com有些場景下,因為產品既有功能限制,不支援特大檔案的直接處理,需要把大檔案進行切割處理。
而且,對程式設計師來說,diy乙個輪子還是有必要的。
python作為快速開發工具,其**表達力強,開發效率高,因此用python快速寫乙個,還是可行的。
需求描述:
輸入:給定乙個帶列頭的csv檔案,或者txt檔案,或者其他文字檔案。
輸出:指定單檔案內部行數的一系列可區分小檔案。
開發環境:python 3.6
**如下:
# -*- coding: cp936 -*-
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 splitbylinecou程式設計客棧nt(filename,count):
fin = open(filename,'r')
try:
hcqsosead = 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實現大文字檔案切割的方法
本文位址:
Python實現大文字檔案分割
python 2 通過檔案拖拽或檔案路徑輸入,實現自定義大文字檔案分割。coding gbk import os,sys,shutil is file exits false while not is file exits files list if len sys.ar 1 print 請輸入要切...
用python清洗文字檔案
對此,首先需要熟悉一些python基本的字串操作。在python中,字串用引號 或 來表示,並可通過類似陣列的方式進行索引,對此我們先建立乙個字串 test txt檔案csdn.com清csd.com洗csdn.com test 2 tx 我們要做的就是刪除字串中所有的 csdn.com pytho...
python 讀寫文字檔案
本人最近新學python 用到文字檔案的讀取,經過一番研究,從網上查詢資料,經過測試,總結了一下讀取文字檔案的方法.a f open filename r content f.read decode utf 8 b f codecs.open encoding utf 8 content f.rea...