通过Pandas读取大文件
2017-11-16 20:31
204 查看
当数据文件过大时,由于计算机内存有限,需要对大文件进行分块读取:
read_csv()函数的iterator参数等于True时,表示返回一个TextParser以便逐块读取文件;
chunkSize表示文件块的大小,用于迭代;
TextParser类的get_chunk方法用于读取任意大小的文件块;
StopIteration的异常表示在循环对象穷尽所有元素时报错;
concat()函数用于将数据做轴向连接:
常用参数:
objs:Series,DataFrame或者是Panel构成的序列list;
axis:需要合并连接的轴,0是行,1是列;
join:连接的参数,inner或outer;
ignore=True表示重建索引。
import pandas as pd f = open('E:/学习相关/Python/数据样例/用户侧数据/test数据.csv') reader = pd.read_csv(f, sep=',', iterator=True) loop = True chunkSize = 100000 chunks = [] while loop: try: chunk = reader.get_chunk(chunkSize) chunks.append(chunk) except StopIteration: loop = False print("Iteration is stopped.") df = pd.concat(chunks, ignore_index=True) print(df)
read_csv()函数的iterator参数等于True时,表示返回一个TextParser以便逐块读取文件;
chunkSize表示文件块的大小,用于迭代;
TextParser类的get_chunk方法用于读取任意大小的文件块;
StopIteration的异常表示在循环对象穷尽所有元素时报错;
concat()函数用于将数据做轴向连接:
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, Verify_integrity=False)
常用参数:
objs:Series,DataFrame或者是Panel构成的序列list;
axis:需要合并连接的轴,0是行,1是列;
join:连接的参数,inner或outer;
ignore=True表示重建索引。
相关文章推荐
- 通过Pandas读取大文件的实例
- 通过codehaus来实现json写入文件和读取文件成json对象
- Pandas读取文件操作
- Java中通过dom4j读取配置文件实现抽象工厂+反射
- 定义一个学生结构体类型struct student,里边含有学号,姓名,分数,定义结构体数组struct student s[3],给数组赋初值后, 写入文件,然后通过lseek偏移到开头,然后再读取
- 使用weblogic连接池来得到数据库连接(通过配置文件进行读取的优化方案)
- 通过系统框架的JNI读取文件例子-附源码
- 通过NSInputStream读取大文件的指定起始内容
- android, 删除SD卡音乐文件。通过getContentResolver读取音乐文件,可以获取到一个完整的路径,直接new File(这括号写获取的路径).delete();
- 通过JDom读取XML文件
- [Jmeter]通过批处理调用java,java从CSV动态读取登录的用户名和密码,并将其作为参数组合成字符串,写入外部.bat文件,然后通过Java执行这个外部批处理文件
- 通过JScript 来读取服务端文件的方法
- 如何通过JDBC向数据库写入/读取大数据文件?
- 英伟达CUVID硬解,并通过FFmpeg读取文件
- 通过poi实现解析并读取excel文件(包含xls、xlsx后缀)
- JS通过ajax动态读取xml文件内容的方法
- python中写入csv,excel显示、pandas读取csv文件的编码问题
- QLGame 2d Engine Android端环境搭建(通过jni读取assets目录的文件)
- 关于 Delphi 中流的使用(3) 通过内存流读取文件
- pandas读取Excel文件,以0开头的数据,出现数据缺失