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写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
Python单元测试简单示例
Jul 03 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
Python 支付整合开发包的实现
Jan 23 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
Python中@property的理解和使用示例
Jun 11 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
Django如何继承AbstractUser扩展字段
Nov 27 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
Python中常见的导入方式总结
May 06 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 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中使用Oracle数据库(3)
2006/10/09 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
php pdo操作数据库示例
2017/03/10 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
财务人员个人自荐信范文
2013/09/26 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
个人优缺点自我评价
2014/01/27 职场文书
医院感染管理制度
2015/08/05 职场文书
干部理论学习心得体会
2016/01/21 职场文书
小学音乐课教学反思
2016/02/18 职场文书
python常见的占位符总结及用法
2021/07/02 Python
node快速搭建后台的实现步骤
2022/02/18 NodeJs