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入门篇之文件
Oct 20 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
Python数据类型详解(二)列表
May 08 Python
Python中对象迭代与反迭代的技巧总结
Sep 17 Python
使用Python处理BAM的方法
Sep 28 Python
Falsk 与 Django 过滤器的使用与区别详解
Jun 04 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
Feb 28 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 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
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
laydate日历控件使用方法详解
2017/11/20 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
微信小程序之批量上传并压缩图片的实例代码
2018/07/05 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
美国校园市场:OCM
2017/06/08 全球购物
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
新农村建设典型材料
2014/05/31 职场文书
出国签证在职证明
2014/09/20 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
房产分割协议书范文
2014/11/21 职场文书
早恋主题班会
2015/08/14 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
护士业务学习心得体会
2016/01/25 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书