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中apply函数的用法实例教程
Jul 31 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python工程师面试必备25条知识点
Jan 17 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
对python中类的继承与方法重写介绍
Jan 20 Python
详解用python自制微信机器人,定时发送天气预报
Mar 25 Python
python安装pil库方法及代码
Jun 25 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 Python
keras.utils.to_categorical和one hot格式解析
Jul 02 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 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引用(&)各种使用方法实例详解
2014/03/20 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
javascript动态创建及删除元素的方法
2014/12/22 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python字典循环添加一键多值的用法实例
2019/01/20 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
业务员薪酬管理制度
2014/01/15 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
2014年元旦感言
2014/03/06 职场文书
学校花圃的标语
2014/06/18 职场文书
学校工作推荐信范文
2014/07/11 职场文书
公安学专业求职信
2014/07/27 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
仰望星空观后感
2015/06/10 职场文书
单位证明范文
2015/06/18 职场文书
庆元旦主持词
2015/07/06 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
pytorch中[..., 0]的用法说明
2021/05/20 Python
总结Python使用过程中的bug
2021/06/18 Python
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang