欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 快速把超大txt文件轉(zhuǎn)存為csv的實例

 更新時間:2018年10月26日 15:11:45   作者:nudt_qxx  
今天小編就為大家分享一篇python 快速把超大txt文件轉(zhuǎn)存為csv的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天項目有個需求,就是把txt文件轉(zhuǎn)為csv,txt之間是空格隔開,轉(zhuǎn)為csv時需要把空格轉(zhuǎn)換為逗號,網(wǎng)上找的一個版本,只需要三行代碼,特別犀利:

import numpy as np
import pandas as pd

data_txt = np.loadtxt('datas_train.txt')
data_txtDF = pd.DataFrame(data_txt)
data_txtDF.to_csv('datas_train.csv',index=False)

上述的datas_train.txt只有不到100MB,560W行數(shù)據(jù),三分鐘之內(nèi)轉(zhuǎn)換完畢。

然后我換了一個5600W行共1.2G的txt文本,用上述代碼轉(zhuǎn)換,電腦直接卡死了。

原因在于上述代碼會把全部的txt加載進內(nèi)存,然后再轉(zhuǎn)換,這就會造成電腦內(nèi)存耗盡。

然后就想到了切割數(shù)據(jù)的辦法,具體實現(xiàn)如下:

import numpy as np
import pandas as pd


train_data = pd.read_table('big_data.txt',iterator=True,header=None)

while True:
 try:
  chunk = train_data.get_chunk(5600000)
  chunk.columns = ['user_id','spu_id','buy_or_not','date']
  chunk.to_csv('big_data111.csv', mode='a',header=False,index = None)
 except Exception as e:
  break

這里我把數(shù)據(jù)分成了小塊,每塊數(shù)據(jù)有560W行,分11次加載就能全部加載完了,速度也很快,總共花了5分鐘左右。

注意,get_chunk()里面的參數(shù)表示文件的行數(shù),而非字節(jié)數(shù)。

以上這篇python 快速把超大txt文件轉(zhuǎn)存為csv的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中bytes和str類型的區(qū)別

    python中bytes和str類型的區(qū)別

    這篇文章主要介紹了python中bytes和str類型的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Python隨機值生成的常用方法總結(jié)

    Python隨機值生成的常用方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Python中隨機值生成的一些常用方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以了解一下
    2022-10-10
  • Anaconda環(huán)境變量的配置圖文詳解

    Anaconda環(huán)境變量的配置圖文詳解

    Anaconda指的是一個開源的Python發(fā)行版本,其包含了conda、Python等180多個科學(xué)包及其依賴項,下面這篇文章主要給大家介紹了關(guān)于Anaconda環(huán)境變量配置的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Django通過自定義認(rèn)證后端實現(xiàn)多種登錄方式驗證

    Django通過自定義認(rèn)證后端實現(xiàn)多種登錄方式驗證

    Django提供了用戶認(rèn)證系統(tǒng),那么如何在項目中進行應(yīng)用呢?在本文中小編將給大家介紹如何使用用戶認(rèn)證系統(tǒng),實現(xiàn)我們業(yè)務(wù)場景中常見的多種登錄方式驗證。感興趣的小伙伴可以了解一下
    2021-12-12
  • python的turtle庫使用詳解

    python的turtle庫使用詳解

    在本篇文章里小編給大家分享了關(guān)于python的turtle庫相關(guān)知識點以及使用方法,需要的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • 利用Python如何批量更新服務(wù)器文件

    利用Python如何批量更新服務(wù)器文件

    這篇文章主要給大家介紹了關(guān)于利用Python如何批量更新服務(wù)器文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Python?Flask?JinJa2?語法使用示例詳解

    Python?Flask?JinJa2?語法使用示例詳解

    這篇文章主要為大家介紹了Python?Flask?JinJa2?語法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Python實現(xiàn)字符串匹配的KMP算法

    Python實現(xiàn)字符串匹配的KMP算法

    KMP算法的關(guān)鍵是利用匹配失敗后的信息,盡量減少模式串與主串的匹配次數(shù)以達(dá)到快速匹配的目的。這篇文章主要介紹了Python實現(xiàn)字符串匹配的KMP算法,需要的朋友可以參考下
    2019-04-04
  • python實現(xiàn)獲取單向鏈表倒數(shù)第k個結(jié)點的值示例

    python實現(xiàn)獲取單向鏈表倒數(shù)第k個結(jié)點的值示例

    這篇文章主要介紹了python實現(xiàn)獲取單向鏈表倒數(shù)第k個結(jié)點的值,結(jié)合實例形式分析了Python針對單向鏈表的定義、遍歷、傳值、判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • python釘釘機器人運維腳本監(jiān)控實例

    python釘釘機器人運維腳本監(jiān)控實例

    今天小編就為大家分享一篇python釘釘機器人運維腳本監(jiān)控實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02

最新評論