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 24 Python
Python判断文本中消息重复次数的方法
Apr 27 Python
基于Django contrib Comments 评论模块(详解)
Dec 08 Python
Python爬虫实现百度图片自动下载
Feb 04 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 Python
python 实现二维列表转置
Dec 02 Python
python装饰器使用实例详解
Dec 14 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 Python
python实现单机五子棋
Aug 28 Python
Python中生成ndarray实例讲解
Feb 22 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中localeconv()函数的用法
2019/03/26 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
js星星评分效果
2014/07/24 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
详解使用python crontab设置linux定时任务
2016/12/08 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
北大研究生linux应用求职信
2013/10/29 职场文书
上课打牌的检讨书
2014/02/15 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
环保倡议书50字
2014/05/15 职场文书
相亲大会策划方案
2014/06/05 职场文书
求职推荐信范文
2015/03/27 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
Python如何配置环境变量详解
2021/05/18 Python
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
深入理解go slice结构
2021/09/15 Golang
Win11开始菜单添加休眠选项
2022/04/19 数码科技