最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python實(shí)現(xiàn)大文本文件切割的方法

 更新時(shí)間:2019年01月12日 17:52:58   作者:zhang_qxian  
今天小編就為大家分享一篇用Python實(shí)現(xiàn)大文本文件切割的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在實(shí)際工作中,有些場景下,因?yàn)楫a(chǎn)品既有功能限制,不支持特大文件的直接處理,需要把大文件進(jìn)行切割處理。

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

而且,對(duì)程序員來說,DIY一個(gè)輪子還是有必要的。

Python作為快速開發(fā)工具,其代碼表達(dá)力強(qiáng),開發(fā)效率高,因此用Python快速寫一個(gè),還是可行的。

需求描述:

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

輸出:指定單文件內(nèi)部行數(shù)的一系列可區(qū)分小文件。

開發(fā)環(huán)境:Python 3.6

代碼如下:

# -*- coding: cp936 -*-
import os
import 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))

測試結(jié)果:

1.4GB的csv文件,13列數(shù)據(jù),切分成23個(gè)小文件,耗時(shí)55秒。

以上這篇用Python實(shí)現(xiàn)大文本文件切割的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 下劃線的不同用法

    python 下劃線的不同用法

    在本文中,我們將介紹 Python 中 _ 字符的不同用法。就像 Python 中的許多其他內(nèi)容一樣,我們會(huì)看到 “_” 的不同用法主要是慣例問題。這里我們將介紹幾種不同的情況。
    2020-10-10
  • Python爬取成語接龍類網(wǎng)站

    Python爬取成語接龍類網(wǎng)站

    在本篇文章里我們給大家分享了關(guān)于Python爬取成語接龍類網(wǎng)站的相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。
    2018-10-10
  • Python學(xué)習(xí)筆記之Zip和Enumerate用法實(shí)例分析

    Python學(xué)習(xí)筆記之Zip和Enumerate用法實(shí)例分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之Zip和Enumerate用法,結(jié)合實(shí)例形式分析了Zip和Enumerate的功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Python3.6基于正則實(shí)現(xiàn)的計(jì)算器示例【無優(yōu)化簡單注釋版】

    Python3.6基于正則實(shí)現(xiàn)的計(jì)算器示例【無優(yōu)化簡單注釋版】

    這篇文章主要介紹了Python3.6基于正則實(shí)現(xiàn)的計(jì)算器,涉及Python基于正則表達(dá)式的算術(shù)式遍歷、查找及數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • Python 關(guān)于反射和類的特殊成員方法

    Python 關(guān)于反射和類的特殊成員方法

    本文給大家分享python關(guān)于反射和類的特殊成員方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • 關(guān)于tf.TFRecordReader()函數(shù)的用法解析

    關(guān)于tf.TFRecordReader()函數(shù)的用法解析

    今天小編就為大家分享一篇關(guān)于tf.TFRecordReader()函數(shù)的用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Django?后端數(shù)據(jù)傳給前端的實(shí)現(xiàn)示例

    Django?后端數(shù)據(jù)傳給前端的實(shí)現(xiàn)示例

    本文主要介紹了Django?后端數(shù)據(jù)傳給前端的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Python中如何使用if語句處理列表實(shí)例代碼

    Python中如何使用if語句處理列表實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于在Python中如何使用if語句處理列表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • Python數(shù)據(jù)結(jié)構(gòu)與算法(幾種排序)小結(jié)

    Python數(shù)據(jù)結(jié)構(gòu)與算法(幾種排序)小結(jié)

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法(幾種排序)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • python中sklearn庫predict及python sklearn linearmodel(安裝過程)

    python中sklearn庫predict及python sklearn linearmodel(

    Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法,今天小編給大家分享python中sklearn庫predict的問題,感興趣的朋友一起看看吧
    2024-02-02

最新評(píng)論

镇平县| 土默特左旗| 蒙山县| 安泽县| 大荔县| 庄浪县| 滦平县| 房山区| 南投县| 牡丹江市| 永年县| 保亭| 台北市| 耿马| 富源县| 祁阳县| 东至县| 西乡县| 东乡县| 阿拉尔市| 隆化县| 荣成市| 台北县| 花莲县| 肥西县| 郯城县| 金坛市| 平阳县| 通榆县| 南通市| 建昌县| 张北县| 银川市| 南投市| 夹江县| 黄浦区| 弥勒县| 娄底市| 阿荣旗| 南召县| 柞水县|