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的Tornado框架异步编程入门实例
Apr 24 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
教你用Python写安卓游戏外挂
Jan 11 Python
python实现二叉查找树实例代码
Feb 08 Python
python中文编码与json中文输出问题详解
Aug 24 Python
WxPython建立批量录入框窗口
Feb 27 Python
python实现抖音点赞功能
Apr 07 Python
Pytorch实现LSTM和GRU示例
Jan 14 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
python 瀑布线指标编写实例
Jun 03 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 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
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
JS 判断代码全收集
2009/04/28 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
Python中functools模块函数解析
2017/03/12 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python列表与元组的异同详解
2019/07/02 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
vue常用指令代码实例总结
2020/03/16 Python
python实现邮件循环自动发件功能
2020/09/11 Python
苹果中国官方网站:Apple中国
2016/07/22 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
最新销售员个人自荐信
2013/09/21 职场文书
外贸实习生自荐信范文
2013/11/24 职场文书
银行实习生的自我评价
2014/01/13 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
自查自纠整改报告
2014/11/06 职场文书
2014年学习部工作总结
2014/11/12 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
贷款收入证明范本
2015/06/12 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server