读取速度提升几倍
不凡 Lv2

您好, 本博客将持续更新python数据分析技巧, 一次解决一个问题,欢迎关注订阅!

本次介绍提升excel文件读取速度问题
工作中我们会有一些大文件(excel, csv等), 作为基础数据经常会读取, 如何减少读取时间, 提升效率呢?

今天用了一个88万行13列的表格, 按不同的方式读取比较读取用时如下:

  1. excel文件: 文大小 61.9M, 读取用时 200秒
  2. csv文件: 文件大小 194M, 读取用时 5秒
  3. hdf文件: 文件大小 80M, 读取用时 2

相同的数据, 用hdf方式读取速度比其他两种快很多, 大文件建议不要存储为excel格式

代码

1
2
3
4
5
6
7
8
9
10
import pandas as pd
import time
t1 = time.time()

data_excel = pd.read_excel('./data_excel.xlsx')
#data_csv = pd.read_csv('./data_csv.csv')
#data_hdf= pd.read_hdf('./data_hdf.h5') # 文件路径也不能有中文
t2 = time.time()

print('读取用时:', t2 - t1)

dataframe转hdf文件

使用pandas.to_hdf()方法将dataframe转成后缀为h5的文件

1
2
data_csv.to_hdf('./data_hdf.h5',key='xy') 
# key参数为英文即可
由 Hexo 驱动 & 主题 Keep
访客数 访问量