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

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

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

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

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

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

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

需求描述:

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

輸出:指定單文件內部行數(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))

測試結果:

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

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

相關文章

  • python 下劃線的不同用法

    python 下劃線的不同用法

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

    Python爬取成語接龍類網站

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

    Python學習筆記之Zip和Enumerate用法實例分析

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

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

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

    Python 關于反射和類的特殊成員方法

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

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

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

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

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

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

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

    Python數(shù)據(jù)結構與算法(幾種排序)小結

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

    python中sklearn庫predict及python sklearn linearmodel(

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

最新評論

冷水江市| 高雄县| 汝阳县| 抚宁县| 永昌县| 崇明县| 九龙坡区| 金寨县| 遂溪县| 西城区| 叶城县| 凤凰县| 宾川县| 布尔津县| 德钦县| 即墨市| 东乡县| 惠安县| 诏安县| 兴安盟| 阿克陶县| 晋州市| 扶风县| 年辖:市辖区| 芦溪县| 长阳| 朔州市| 卢龙县| 陵川县| 八宿县| 焦作市| 同心县| 铜山县| 九龙坡区| 肇州县| 双柏县| 无为县| 会东县| 五寨县| 浙江省| 鹤峰县|