【发布时间】:2018-04-04 06:41:59
【问题描述】:
我有一个包含多个 .parquet 文件的数据文件夹,这些文件是使用 pandas 和 pyarrow 转换的 .csv 文件。所有文件都有一个名为“Timestamp”的日期时间索引,以及名为“Open”、“High”、“Low”、“Close”、“Volume”的五列,它们都具有相同的 dtype=int32。
我只想将它们全部加载到一个 Dask.Dataframe 中。这是一个代码 sn-p。
import os
import pyarrow as pa
import pyarrow.parquet as pq
import dask.dataframe as dd
user = os.getlogin()
data_path = 'C:\\Users\\%s\\data\\' % user
ds = dd.read_parquet(data_path) # error
ds = dd.read_parquet(data_path, index='Timestamp') # error
但这样做会返回错误 'fastparquet.util.ParquetException: Metadata parse failed: # data_path'
所以我尝试手动访问单个文件的元数据。
import glob
files = ['%s' % s for s in glob.glob(data_path + '*.parquet')]
for file in files:
print(pq.read_metadata(file)) # no error returned
ds = dd.read_parquet(files) # error
ds = dd.read_parquet(files, index='Timestamp') # error
怎么了?
【问题讨论】:
-
请注意,通常最好包含尽可能多的细节:生成数据的代码和您收到的完整回溯。