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学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
matplotlib绘制动画代码示例
Jan 02 Python
python删除服务器文件代码示例
Feb 09 Python
Python 3.6 读取并操作文件内容的实例
Apr 23 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
Python基础教程之if判断,while循环,循环嵌套
Apr 25 Python
PyQt Qt Designer工具的布局管理详解
Aug 07 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
Python可视化神器pyecharts绘制水球图
Jul 07 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
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
2012/01/12 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php中fsockopen用法实例
2015/01/05 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
如何在PHP中使用数组
2020/06/09 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
9种python web 程序的部署方式小结
2014/06/30 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python yield 使用方法浅析
2017/05/20 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python实现Singleton模式的方式详解
2019/08/08 Python
Django对models里的objects的使用详解
2019/08/17 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
营销学习心得体会
2014/09/12 职场文书
公积金贷款承诺书
2015/04/30 职场文书
无保留意见审计报告
2015/06/05 职场文书
导游词之日本富士山
2020/01/06 职场文书
基于python实现银行管理系统
2021/04/20 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python