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 05 Python
Python socket编程实例详解
May 27 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 Python
python绘制已知点的坐标的直线实例
Jul 04 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
Python如何基于rsa模块实现非对称加密与解密
Jan 03 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
Feb 25 Python
常用的10个Python实用小技巧
Aug 10 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 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
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
thinkphp配置连接数据库技巧
2014/12/02 PHP
记录一次排查PHP脚本执行卡住的问题
2016/12/27 PHP
PHP实现登陆表单提交CSRF及验证码
2017/01/24 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
nodeJS删除文件方法示例
2016/12/25 NodeJs
Express+Nodejs 下的登录拦截实现代码
2017/07/01 NodeJs
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
python处理按钮消息的实例详解
2017/07/11 Python
详解Python安装scrapy的正确姿势
2018/06/26 Python
替换python字典中的key值方法
2018/07/06 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
2021/01/18 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
网络教育毕业生自我鉴定
2013/10/10 职场文书
高三自我鉴定范文
2013/10/19 职场文书
薪酬专员岗位职责
2014/02/18 职场文书
《海底世界》教学反思
2014/04/16 职场文书
图书馆标语
2014/06/19 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
医务人员医德考评自我评价
2015/03/03 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
Go获取两个时区的时间差
2022/04/20 Golang