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实现保存网页到本地示例
Mar 16 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
python实现数据图表
Jul 29 Python
python逆向入门教程
Jan 15 Python
python批量实现Word文件转换为PDF文件
Mar 15 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
基于python实现删除指定文件类型
Jul 21 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 Python
Python实现疫情地图可视化
Feb 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
第九节 绑定 [9]
2006/10/09 PHP
php数组删除元素示例
2014/03/21 PHP
php广告加载类用法实例
2014/09/23 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
js change,propertychange,input事件小议
2011/12/20 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
详解vue中组件参数
2018/07/09 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Django 视图层(view)的使用
2018/11/09 Python
python实现爬山算法的思路详解
2019/04/09 Python
详解Python 函数如何重载?
2019/04/23 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
一套中级Java程序员笔试题
2015/01/14 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
饭店工作计划书
2014/01/10 职场文书
啤酒节策划方案
2014/05/28 职场文书
导游词之韩国济州岛
2019/10/28 职场文书