def df_multi_reader(filename: str, limit: bool=False) -> PandasDF:
df = DataFrame()
try:
assert isinstance(filename, str), "filename isn't string %s" % filename
assert isinstance(limit, bool), "limit isn't bool %s" % limit
if settings.DATA_TYPE == "pickle":
f = filename + ".mp"
if isfile(f):
df = read_pickle(f)
if settings.DATA_TYPE == "proto2":
f = filename + ".pr2"
if isfile(f):
df = read_pickle(f)
if settings.DATA_TYPE == "messagepack":
f = filename + ".pack"
if isfile(f):
df = read_msgpack(f)
if settings.DATA_TYPE == "json":
f = filename + ".json"
if isfile(f):
df = read_json(f)
if settings.DATA_TYPE == "feather":
#TODO feather doesn't handle indexes
f = filename + ".fth"
if isfile(f):
df = read_feather(f).reset_index()
if settings.DATA_TYPE == "hdf":
f = filename + ".hdf"
if isfile(f):
df = read_hdf(f, key=filename)
if settings.DATA_TYPE == "hdfone":
f = join(settings.DATA_PATH, "hdfone.hdfone")
if isfile(f):
df = read_hdf(f, key=filename, mode='r')
if limit:
if len(df.index) > 0:
df = df.last(settings.LIMIT_MONTHS)
except Exception as err:
print(colored.red("MultiReader {}".format(err)))
return df
评论列表
文章目录