今天项目有个需求,就是把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 快速把超大txt文件转存为csv的实例

本文地址: http://www.cppcns.com/jiaoben/python/242877.html

python csv 大文件_python 快速把超大txt文件转存为csv的实例相关推荐

  1. python读取大文件csv_python 快速把超大txt文件转存为csv的实例

    python 快速把超大txt文件转存为csv的实例 今天项目有个需求,就是把txt文件转为csv,txt之间是空格隔开,转为csv时需要把空格转换为逗号,网上找的一个版本,只需要三行代码,特别犀利: ...

  2. python中txt转成csv_python 快速把超大txt文件转存为csv的实例

    今天项目有个需求,就是把txt文件转为csv,txt之间是空格隔开,转为csv时需要把空格转换为逗号,网上找的一个版本,只需要三行代码,特别犀利: import numpy as np import ...

  3. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  4. python怎么批量读取文件_python如何批量读取txt文件

    原标题:python如何批量读取txt文件 python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称 ...

  5. python读取大文件目录_Python读取系统文件夹内所有文件并统计数量的方法

    大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...

  6. python numpy 子数组_Python快速转换numpy数组中Nan和Inf的方法实例说明

    在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误.这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值. 转载:https:// ...

  7. python中读取文本文件_Python三种读取txt文件方式

    # -*- coding: utf-8 -*- file =open('/Users/april_chou/Desktop/WorkSpace/Selenium/seleniumTest/test.t ...

  8. python合并两个列表并去重_python合并多个txt文件

    python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...

  9. python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战

    python保存大列表(list)数据到文件并后续重新加载为列表(list)对象实战 笔者遇到的问题是这样的, 在做机器学习模型的时候,有的时候会使用相关性分析的方法来进行特征的筛选,去除冗余特征,降 ...

最新文章

  1. Springboot使用bean方式详解(附代码)
  2. maven 和eclipse插件
  3. Java程序编译和运行的过程
  4. GraphQL入门之进一步了解GraphQL
  5. python requests get请求_python+requests+new——get请求各种情况
  6. MySQL基本分区表
  7. python排序sorted_sorted排序的两个方法 - Python
  8. H5添加禁止缩放功能
  9. Dubbo xml配置 和注解配置 写法
  10. git 常用命令(含删除文件)
  11. EZ_USB salveFIFO
  12. How to activate an Anaconda environment
  13. 自学python能找到工作吗-互联网寒冬,现在开始自学python能找到工作吗?
  14. Populating Next Right Pointers in Each Node I or II
  15. memset 函数使用
  16. 基于GAN的手写数字生成实践
  17. PFQ: a Linux kernel module for packet capturing on multi-core architectures
  18. python匹配字符串以结尾_Python-字符串开头或结尾匹配
  19. mysql 判断质数_质数(素数)判断算法总结
  20. Linux配置Samba在局域网共享文件

热门文章

  1. nginx 504错误日志出现 upstream timed out (110: Connection timed out) while reading response
  2. 网站不让复制文字??教你破解复制+白嫖下载百度等各种文档
  3. java调用clsid_java – Utgard – 拒绝访问
  4. LaTeX Warnings: Unused global option(s)
  5. 苹果手机怎么用计算机打出字,iPhone输入法忽然打不出中文怎么办?收下这份指南日常打字如飞!...
  6. 多个搜索引擎搜索网站,提高搜索效率,快人一步
  7. http 状态详细说明
  8. 2019年组装的一台计算机
  9. 结构体+联合体 详解
  10. linux内核配置cpu相关,Linux内核配置