python 快速把超大txt文件转存为csv的实例

 更新时间:2018年10月26日 15:11:45   作者:nudt_qxx  
今天小编就为大家分享一篇python 快速把超大txt文件转存为csv的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天项目有个需求,就是把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+redis通过限流保护高并发系统

    Python+redis通过限流保护高并发系统

    这篇文章主要介绍了Python+redis通过限流保护高并发系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)

    selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox)

    这篇文章主要介绍了selenium设置proxy、headers的方法(phantomjs、Chrome、Firefox),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Django1.9 加载通过ImageField上传的图片方法

    Django1.9 加载通过ImageField上传的图片方法

    今天小编就为大家分享一篇Django1.9 加载通过ImageField上传的图片方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python Collatz序列实现过程解析

    Python Collatz序列实现过程解析

    这篇文章主要介绍了Python Collatz序列实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 解决安装torch后,torch.cuda.is_available()结果为false的问题

    解决安装torch后,torch.cuda.is_available()结果为false的问题

    这篇文章主要介绍了解决安装torch后,torch.cuda.is_available()结果为false的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python线程同步的实现代码

    Python线程同步的实现代码

    本文介绍了threading 模块提供的线程同步原语包括:Lock、RLock、Condition、Event、Semaphore等对象。对大家的学习具有一定的参考学习价值,需要的朋友可以参考下
    2018-10-10
  • python办公自动化之excel的操作

    python办公自动化之excel的操作

    在我们日常工作中,经常会使用 Word、Excel、PPT、PDF 等办公软件但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下;通过 Python 实现办公自动化变的很有必要
    2021-05-05
  • Python3之简单搭建自带服务器的实例讲解

    Python3之简单搭建自带服务器的实例讲解

    今天小编就为大家分享一篇Python3之简单搭建自带服务器的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 详解Python对JSON中的特殊类型进行Encoder

    详解Python对JSON中的特殊类型进行Encoder

    这篇文章主要介绍了详解Python对JSON中的特殊类型进行Encoder,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 浅析python中的绝对导入和相对导入

    浅析python中的绝对导入和相对导入

    这篇文章主要是想和大家简单聊聊python中绝对导入和相对导入的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考下
    2023-09-09

最新评论