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中的二进制位运算符
May 13 Python
pandas数据分组和聚合操作方法
Apr 11 Python
python获取当前目录路径和上级路径的实例
Apr 26 Python
python画折线图的程序
Jul 26 Python
Python操作redis实例小结【String、Hash、List、Set等】
May 16 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
python路径的写法及目录的获取方式
Dec 26 Python
Python栈的实现方法示例【列表、单链表】
Feb 22 Python
python下对hsv颜色空间进行量化操作
Jun 04 Python
Python importlib模块重载使用方法详解
Oct 13 Python
python爬虫搭配起Bilibili唧唧的流程分析
Dec 01 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
php7安装yar扩展的方法详解
2017/08/03 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
JavaScript中的类继承
2010/11/25 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
python在linux中输出带颜色的文字的方法
2014/06/19 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
动态密码技术
2012/10/18 面试题
草船借箭教学反思
2014/02/03 职场文书
查摆问题对照检查材料
2014/08/28 职场文书
2014年质检员工作总结
2014/11/18 职场文书
工作失误检讨书
2015/01/26 职场文书
运动员入场词
2015/07/18 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
Css预编语言及区别详解
2021/04/25 HTML / CSS
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技
Spring 使用注解开发
2022/05/20 Java/Android