用Python實現大文字檔案切割的方法

2022-10-04 06:06:08 字數 1388 閱讀 1231

在實際工作中,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...