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 logging类库使用例子
Nov 22 Python
Python os模块介绍
Nov 30 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
Python 忽略warning的输出方法
Oct 18 Python
Linux下安装python3.6和第三方库的教程详解
Nov 09 Python
selenium+python自动化测试之鼠标和键盘事件
Jan 23 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
python实现屏保程序(适用于背单词)
Jul 30 Python
tensorflow没有output结点,存储成pb文件的例子
Jan 04 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
Python如何获取文件指定行的内容
May 27 Python
Python实现异步IO的示例
Nov 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
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
jQuery常见开发技巧详细整理
2013/01/02 Javascript
javascript模拟实现C# String.format函数功能代码
2013/11/25 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
详解vue 组件注册
2020/11/20 Vue.js
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
优秀校长事迹材料
2014/12/24 职场文书
应收账款管理制度
2015/08/06 职场文书
家访教师心得体会
2016/01/23 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
Python基本的内置数据类型及使用方法
2022/04/13 Python