我有一个 3GB 的 CSV 文件。我正在尝试使用 Pandas 将其保存为 HDF 格式,以便更快地加载它。
import pandas as pd
import traceback
df_all = pd.read_csv('file_csv.csv', iterator=True, chunksize=20000)
for _i, df in enumerate(df_all):
try:
print ('Saving %d chunk...' % _i, end='')
df.to_hdf('file_csv.hdf',
'file_csv',
format='table',
data_columns=True)
print ('Done!')
except:
traceback.print_exc()
print (df)
print (df.info())
del df_all
原始的 CSV 文件大约有 300 万行,这从这段代码的输出中可以看出。最后一行输出是:Saving 167 chunk...Done!这意味着:167*20000 = 3.340.000 行
我的问题是:
df_hdf = pd.read_hdf('file_csv.hdf')
df_hdf.count()
=> 4613 行
和:
item_info = pd.read_hdf('ItemInfo_train.hdf', where="item=1")
什么都不返回,即使我确定“项目”列在原始文件中的条目等于 1。
有什么问题?