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读取和输出到txt
读取txt的数据和把数据保存到txt中是经常要用到的,下面我就总结一下. 读txt文件 python常用的读取文件函数有三种read().readline().readlines() 以读取上述txt为例,我们一起来看一下三者的区别 read() 一次性读全部内容 read() #一次性读取文本中全部的内容,以字符串的形式返回结果 with open("test.txt", "r") as f: #打开文件 data = f.read() #读取文件 print(d
-
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
有一个txt文本如下: 151 151 1234561 156421 214156 1523132 031320 现希望将两行合并为一行,并将中间所有的空格都去掉: (python编程第十章) 代码如下: path = r'C:\Users\xxx\Desktop\test.txt'#文本存放的路径 with open(path) as file: lines = file.readlines()#读取每一行 a = ''#空字符(中间不加空格) for line in lines: a +=
-
python将txt文档每行内容循环插入数据库的方法
如下所示: import pymysql import time import re def get_raw_label(rece): re1 = r'"([\s\S]*?)": "' #-------------正则表达式 reg1 = re.compile(re1) # ------------编译一下 str1 = reg1.findall(rece) return str1 def get_detail(rece): re2 = r'": "([\
-
python修改txt文件中的某一项方法
在做task中,需要将TXT文本中的某一项注释修改,但是python对txt文本只有写入和读取两种操作. 我采用的方法是: 1.读取txt文件,将每一行数据,加入新建立的list中. 2.在list中修改数据 3.再新建一个txt文件,按行存入数据.记得添加 '/n' 分行 实例: 这里修改里面的数字,修改为: from __future__ import division with open(r'TACoS_test_samples-Copy1.txt','r') as f1: lines =
-
python读取txt文件并取其某一列数据的示例
菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5 AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85 AAAAF110 0003E7F0 0003E208 0003E764 0003FFFC 68 AAAAF110 0003E7CC 0003E1FC 0003E758 000
-
python将txt文件读取为字典的示例
如下所示: # -*- coding: utf-8 -*- # @Time :18-8-2 下午3:23 import sys reload(sys) sys.setdefaultencoding('utf8') fp = open("file", "r") sample = fp.readlines() result_list = [] # 创建一个空列表 with open('file', 'w') as f: for line in sample: resul
-
python读取txt文件中特定位置字符的方法
如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') fp = open("resources.txt", "r") sample = fp.readlines() file=open("test.txt", "w") for line in sample: sample_ = line.split('固定字符')
-
python将字符串以utf-8格式保存在txt文件中的方法
如下所示: #ltp_data 字符串 写进777.txt 1. def save(filename, contents): fh = open(filename, 'w', encoding='utf-8') fh.write(contents) fh.close() save('F:\\ltp-3.3.1-win-x86\\777.txt', ltp_data) 2. #这句话自带文件关闭功能,所以和那些先open再write再close的方式来说,更加pythontic! with ope
-
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_tr
-
Python 逐行分割大txt文件的方法
代码如下所示: # -*- coding: <encoding name> -*- import io LIMIT = 150000 file_count = 0 url_list = [] with io.open('D:\DB_NEW_bak\DB_NEW_20171009_bak.sql','r',encoding='utf-16') as f: for line in f: url_list.append(line) if len(url_list) < LIMIT: conti
-
使用python对多个txt文件中的数据进行筛选的方法
一.问题描述 筛选出多个txt文件中需要的数据 二.数据准备 这是我自己建立的要处理的文件,里面是随意写的一些数字和字母 三.程序编写 import os def eachFile(filepath): pathDir =os.listdir(filepath) #遍历文件夹中的text return pathDir def readfile(name): fopen=open(name,'r') for lines in fopen.readlines(): #按行读取text中的内容 lin
-
Python 合并多个TXT文件并统计词频的实现
需求是:针对三篇英文文章进行分析,计算出现次数最多的 10 个单词 逻辑很清晰简单,不算难, 使用 python 读取多个 txt 文件,将文件的内容写入新的 txt 中,然后对新 txt 文件进行词频统计,得到最终结果. 代码如下:(在Windows 10,Python 3.7.4环境下运行通过) # coding=utf-8 import re import os # 获取源文件夹的路径下的所有文件 sourceFileDir = 'D:\\Python\\txt\\' filenames
-
用python生成1000个txt文件的方法
问题,用python生成如下所示的1000个txt文件? 解答: import os for i in range(0,1001): os.mknod("./a/%04d.txt"%i) 以上这篇用python生成1000个txt文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
使用python快速实现不同机器间文件夹共享方式
Python有一个比较好用的功能,那就是很方便的实现共享文件夹. 首先两台主机都需要安装python,在未建立逻辑连接之前它们是不区分主从机的. 例如:现在有两台机器,一台windows和一台linux,现在你想要让linux机器的文件夹被共享,那么 1.就在linux机器下的期望被共享的文件夹下执行: python –m SimpleHTTPServer (端口号,可选,默认是8000) 2.在windows机器下,打开浏览器,输入: http://linux机器IP:8000 就可以访问到l
-
python 读取、写入txt文件的示例
写入文件 使用open()函数和write()函数 但是有两种写法,分别是'a'和'w' 'a' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,会接着已有的内容的后面写入 with open('D:\\test.txt','a',encoding='utf-8') as f: text = '\n奔涌吧,后浪' f.write(text) 程序运行前: 程序运行后: 'w' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,里面的内容会被后面写入的内容替换掉 with ope
-
Python处理excel与txt文件详解
目录 一.Python处理excel文件 1. 两个头文件 2. 读取excel文件 3. 写入excel文件 二.Python处理txt文件 1. 打开txt文件 2. 读取txt文件 3. 写入txt文件(需注意别清空了原来的内容) 一.Python处理excel文件 1. 两个头文件 import xlrd import xlwt 其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 2. 读取excel文件 # 打开excel文件 workBook =
-
python 中的requirements.txt 文件的使用详情
目录 实战场景 生成 requirements.txt 文件潜在问题 使用 requirements.txt 文件的好处 备注 使用 pip-compile 实战场景 在部署Python应用时,需要把第三方库进行安装,这里可以使用requirements.txt文件,其中记录了所有依赖包以及精确的版本号. requirements.txt文件在我们访问开源 Python项目的时候,极常见. 简单使用流程概述 使用pip freeze命令生成requirements.txt文件, 如下所示: pi
-
Python OpenCV对本地视频文件进行分帧保存的实例
如下所示: # coding=utf-8 import os import cv2 videos_src_path = "/home/wgp/视频/" video_formats = [".MP4", ".MOV"] frames_save_path = "/home/wgp/视频/" width = 320 height = 240 time_interval = 50 def video2frame(video_src_p
随机推荐
- 详解springboot解决第三方依赖jar包的问题
- Ruby版本管理工具RVM的安装和使用教程
- 解决html按钮切换绑定不同函数后点击时执行多次函数问题
- Python3中的2to3转换工具使用示例
- 整理Python 常用string函数(收藏)
- JavaScript中setFullYear()方法的使用详解
- JavaScript中定义对象原型的两种使用方法
- UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍
- Android自定义组合控件之自定义下拉刷新和左滑删除实例代码
- 一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
- ospf的注意事项
- Linux 管理员手册(5)
- eclipse maven maven-archetype-webapp 创建失败问题解决
- Android隐藏标题状态栏的方法
- C#实现将选中复选框的信息返回给用户的方法
- Yii2.0中使用js异步删除示例
- 不需手术,“男声”也可变“女声”
- python实现人人自动回复、抢沙发功能
- linux系统Ansible自动化运维部署方法
- Python+AutoIt实现界面工具开发过程详解