国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 快速把超大txt文件轉存為csv的實例

2020-01-04 14:13:29
字體:
來源:轉載
供稿:網友

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

import numpy as npimport pandas as pddata_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行數據,三分鐘之內轉換完畢。

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

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

然后就想到了切割數據的辦法,具體實現如下:

import numpy as npimport pandas as pdtrain_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

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

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

以上這篇python 快速把超大txt文件轉存為csv的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青岛市| 九寨沟县| 怀宁县| 进贤县| 于都县| 九江市| 象山县| 亚东县| 南川市| 雅江县| 金平| 调兵山市| 秦皇岛市| 桦川县| 池州市| 元阳县| 福清市| 左权县| 天峨县| 马鞍山市| 富源县| 乌拉特中旗| 玉林市| 清原| 长海县| 阳东县| 巧家县| 丹寨县| 河池市| 遂平县| 来凤县| 马关县| 栾川县| 阿拉善盟| 龙里县| 邢台县| 唐海县| 介休市| 从江县| 金乡县| 资讯 |