Использование pyarrow read_json() для анализа списка структур в StructArray ⇐ Python
-
Гость
Использование pyarrow read_json() для анализа списка структур в StructArray
Я могу успешно использовать pyarrow read_json для считывания некоторых данных финансовой торговли в формате JSON в таблицу. JSON содержит два списка структур: ask и bids.
schema = pa.schema([('time', pa.timestamp(unit='ns', tz='UTC'))]) parse_options = pj.ParseOptions(explicit_schema=schema) таблица = pj.read_json(файл, parse_options=parse_options) таблица pyarrow.Table время: временная метка[ns, tz=UTC] инструмент: струна спрашивает: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 ставки: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 Ask_prices: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 Если я затем посмотрю на поля asks или bids первой строки, они будут ListArray(s). Я хотел бы прочитать эти данные в StructArray(s), чтобы можно было использовать метод field().
Я почти уверен, что мне нужно указать StructArray в схеме, но я изо всех сил пытаюсь сделать это.
Будем очень признательны за любые предложения.
Пример строки JSON:...
{"type": "PRICE", "time": "2022-01-04T15:55:12.710818633Z", "bids": [{"price": "1.13134", "ликвидность": 1000000}, {"цена": "1.13133", "ликвидность": 2000000}, {"цена": "1.13132", "ликвидность": 2000000}, {"цена": "1.13130", "ликвидность": 5000000} ], "спрашивает": [{"цена": "1.13145", "ликвидность": 1000000}, {"цена": "1.13147", "ликвидность": 2000000}, {"цена": "1.13148", "ликвидность" ": 2000000}, {"price": "1.13149", "ликвидность": 5000000}], "closeoutBid": "1.13130", "closeoutAsk": "1.13149", "status": "торгуемый", "торгуемый": правда, "инструмент": "EUR_USD"}
Я могу успешно использовать pyarrow read_json для считывания некоторых данных финансовой торговли в формате JSON в таблицу. JSON содержит два списка структур: ask и bids.
schema = pa.schema([('time', pa.timestamp(unit='ns', tz='UTC'))]) parse_options = pj.ParseOptions(explicit_schema=schema) таблица = pj.read_json(файл, parse_options=parse_options) таблица pyarrow.Table время: временная метка[ns, tz=UTC] инструмент: струна спрашивает: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 ставки: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 Ask_prices: list дочерний элемент 0, элемент: struct дочерний элемент 0, цена: строка дочерний элемент 1, ликвидность: int64 Если я затем посмотрю на поля asks или bids первой строки, они будут ListArray(s). Я хотел бы прочитать эти данные в StructArray(s), чтобы можно было использовать метод field().
Я почти уверен, что мне нужно указать StructArray в схеме, но я изо всех сил пытаюсь сделать это.
Будем очень признательны за любые предложения.
Пример строки JSON:...
{"type": "PRICE", "time": "2022-01-04T15:55:12.710818633Z", "bids": [{"price": "1.13134", "ликвидность": 1000000}, {"цена": "1.13133", "ликвидность": 2000000}, {"цена": "1.13132", "ликвидность": 2000000}, {"цена": "1.13130", "ликвидность": 5000000} ], "спрашивает": [{"цена": "1.13145", "ликвидность": 1000000}, {"цена": "1.13147", "ликвидность": 2000000}, {"цена": "1.13148", "ликвидность" ": 2000000}, {"price": "1.13149", "ликвидность": 5000000}], "closeoutBid": "1.13130", "closeoutAsk": "1.13149", "status": "торгуемый", "торгуемый": правда, "инструмент": "EUR_USD"}