python 快速把超大txt文件转存为csv的实例


Posted in Python onOctober 26, 2018

今天项目有个需求,就是把txt文件转为csv,txt之间是空格隔开,转为csv时需要把空格转换为逗号,网上找的一个版本,只需要三行代码,特别犀利:

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行数据,三分钟之内转换完毕。

然后我换了一个5600W行共1.2G的txt文本,用上述代码转换,电脑直接卡死了。

原因在于上述代码会把全部的txt加载进内存,然后再转换,这就会造成电脑内存耗尽。

然后就想到了切割数据的办法,具体实现如下:

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

这里我把数据分成了小块,每块数据有560W行,分11次加载就能全部加载完了,速度也很快,总共花了5分钟左右。

注意,get_chunk()里面的参数表示文件的行数,而非字节数。

以上这篇python 快速把超大txt文件转存为csv的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python里隐藏的“禅”
Jun 16 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
Mar 30 Python
Python+PIL实现支付宝AR红包
Feb 09 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
Feb 26 Python
pip安装py_zipkin时提示的SSL问题对应
Dec 29 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
python 公共方法汇总解析
Sep 16 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
Oct 15 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 #Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 #Python
Python异常的检测和处理方法
Oct 26 #Python
Python subprocess库的使用详解
Oct 26 #Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
Oct 26 #Python
Python分割指定页数的pdf文件方法
Oct 26 #Python
python 将json数据提取转化为txt的方法
Oct 26 #Python
You might like
菜单效果
2006/10/14 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
微信小程序使用Socket的实例
2017/09/19 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python网络编程实例简析
2014/09/26 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python+Django+pycharm+mysql 搭建首个web项目详解
2019/11/29 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
管理心得体会
2013/12/28 职场文书
工作散漫检讨书
2014/09/16 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
班委竞选稿范文
2015/11/21 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android