一般情况下, 我们习惯使用 Pandas 中的 read_csv 函数来读取 CSV 文件, 但当 CSV 文件比较大时, read_csv 的速度会显得有点慢, 这时可以考虑使用 HDF5 格式来存储数据, 下面是两个函数所用时间的对比
通过对比可以发现, 随着文件大小的增加, read_hdf 的优势越来越大, 但是当文件小于 15MB 时, read_hdf 的速度开始慢于 read_csv, 而且文件越小差距越大, 所以结论是: 大于 15MB 的数据使用 HDF 格式存储, 而小于 15MB 的数据使用 CSV 格式.
下面是测试时用的代码
def test2(self):
csv_path = './test.csv'
hdf_path = './test.hdf'
# 先存一份 HDF 文件
df = pd.read_csv(path)
df.to_hdf(hdf_path, 'df')
# 读取 CSV 文件
start1 = datetime.now()
df1 = pd.read_csv(path)
end1 = datetime.now()
# 读取 HDF 文件
start2 = datetime.now()
df2 = pd.read_hdf(path2, 'df')
end2 = datetime.now()
print('read_csv: ', end1-start1, len(df1))
print('read_hdf: ', end2-start2, len(df2))