Ошибка синтаксического анализа при загрузке данных CSV в Zipline с помощью CSVDIR - PullRequest
0 голосов
/ 10 июля 2019

Я загружаю CSV-файлы, используя пакет CSVDIR в Zipline.Выдает ошибку «ValueError: Ошибка синтаксического анализа строки времени и даты« A.csv »в позиции 0».Как это можно решить?

Когда я загружаю его напрямую с помощью панд, он загружается нормально:

>>> Acsv = pd.read_csv("D:/work/tmp/hData/bundles/data/NYSE_dat/A.csv", parse_dates=[0], infer_datetime_format=True, index_col=0)
>>> Acsv.head()
             open   high    low  close   volume  dividend  split
date                                                            
2014-06-18  58.86  59.32  58.53  59.27  1114700       0.0    1.0
2014-06-19  59.20  59.54  58.15  58.62  3149500       0.0    1.0
2014-06-20  57.95  59.06  57.84  58.77  2027500       0.0    1.0
2014-06-23  58.71  58.86  57.97  58.11  1435600       0.0    1.0
2014-06-24  58.03  58.49  57.58  57.65  1125800       0.0    1.0

Вот код ошибки с кодом:

>>> CSV_BUNDLE_NAME = 'NYSE_dat'
>>> from zipline.data import bundles
>>> os.environ['ZIPLINE_ROOT'] = "D:/work/tmp/hData/bundles" 
>>> injst_func = bundles.csvdir.csvdir_equities(['daily'], CSV_BUNDLE_NAME)
>>> bundles.register(CSV_BUNDLE_NAME, injst_func)
<bound method CSVDIRBundle.ingest of <zipline.data.bundles.csvdir.CSVDIRBundle object at 0x000000001CFC82E8>>
>>> bundle_data = bundles.load(CSV_BUNDLE_NAME)
Traceback (most recent call last):
  File "pandas/_libs/tslib.pyx", line 1702, in pandas._libs.tslib.convert_str_to_tsobject
  File "pandas/_libs/src/datetime.pxd", line 119, in datetime._string_to_dts
ValueError: Error parsing datetime string "A.csv" at position 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pandas/_libs/tslib.pyx", line 1732, in pandas._libs.tslib.convert_str_to_tsobject
  File "pandas/_libs/tslibs/parsing.pyx", line 99, in pandas._libs.tslibs.parsing.parse_datetime_string
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\dateutil\parser\_parser.py", line 1356, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\dateutil\parser\_parser.py", line 648, in parse
    raise ValueError("Unknown string format:", timestr)
ValueError: ('Unknown string format:', 'A.csv')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\zipline\data\bundles\core.py", line 486, in most_recent_data
    key=from_bundle_ingest_dirname,
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\zipline\data\bundles\core.py", line 123, in from_bundle_ingest_dirname
    return pd.Timestamp(cs.replace(';', ':'))
  File "pandas/_libs/tslib.pyx", line 390, in pandas._libs.tslib.Timestamp.__new__
  File "pandas/_libs/tslib.pyx", line 1549, in pandas._libs.tslib.convert_to_tsobject
  File "pandas/_libs/tslib.pyx", line 1735, in pandas._libs.tslib.convert_str_to_tsobject
ValueError: could not convert string to Timestamp

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\zipline\data\bundles\core.py", line 521, in load
    timestr = most_recent_data(name, timestamp, environ=environ)
  File "C:\Users\Raja\.conda\envs\TradingEnv\lib\site-packages\zipline\data\bundles\core.py", line 497, in most_recent_data
    timestamp=timestamp,
ValueError: no data for bundle 'NYSE_dat' on or before 2019-07-10 03:03:42.161500+00:00
maybe you need to run: $ zipline ingest -b NYSE_dat
...