【python学习】pickle文件和csv文件读取速度、内存大小对比

Pandas读取文件的效率-CSV VS Pickle - 知乎

 利用Python进行数据分析 第6章 数据加载、存储与文件格式(2) - ElonJiang - 博客园

本文介绍pickle文件(.pkl)的读取方式,推荐pandas方式,支持读取的文件类型多、更方便。针对.pkl文件、.csv文件以及转换为category类型保存的.pkl文件,对比pandas对前面这三种文件的文件大小、读取速度、占内存大小等指标。

目录

一、pickle文件读取

1. 使用pickle库

2. 使用pandas(推荐)

 二、使用pandas读取文件(.pkl、.csv)

 三、结论

1. 文件大小

2.  文件读取速度

3. 占用内存大小


一、pickle文件读取

读取pickle存储数据有两种方式:

1. 使用pickle库

import pickle
with open('F:\\xloaddata','rb') as f:
    data = pickle.load(f)

2. 使用pandas(推荐)

import pandas as pd
pd = pd.read_pickle('F:\\xloaddata')
print(pd)

通过pickle直接读取被pickle化的数据,或使用更为方便的pandas.read_pickle。

Ps:pickle仅建议用于短期存储格式。因其很难保证该格式是永远稳定的。

实现数据的高效二进制格式存储最简单的办法之一,是使用Python内置的pickle序列化。

 二、使用pandas读取文件(.pkl、.csv)

使用pandas读取.pkl文件、.csv文件以及转换为category类型的文件,并对比这三种类型文件的文件大小、读取速度、占内存大小等指标。Pandas读取文件的效率-CSV VS Pickle - 知乎

 三、结论

1. 文件大小

转换后的文件占用磁盘空间最小,比原文件小4倍,对于保存大量数据非常有用。

2.  文件读取速度

转换后的读取速度比普通csv文件的读取速度快42倍。

3. 占用内存大小

转换后占用内存比转换前小30倍。

注:读取的数据都是一样的,就是数据类型不一样。