Как прочитать байтовый объект паркета в python - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть объект Python, который, как я знаю, является загруженным в объект файлом паркета.(У меня нет возможности фактически прочитать это из файла).

Объект var_1 содержит b'PAR1\x15\x....1\x00PAR1

, когда я проверяю тип:

type(var_1)

Я получаю результат bytes

Есть ли способ прочитать это?скажем в панде фрейм данных?

Я пробовал: 1)

from fastparquet import ParquetFile
pf = ParquetFile(var_1)

И получил:

TypeError: a bytes-like object is required, not 'str'

2

import pyarrow.parquet as pq
dataset = pq.ParquetDataset(var_1)

и получил:

TypeError: not a path-like object

Обратите внимание, решение для Как прочитать файл Parquet в Pandas DataFrame? .то есть pd.read_parquet(var_1, engine='fastparquet') приводит к TypeError: a bytes-like object is required, not 'str'

1 Ответ

0 голосов
/ 23 сентября 2019

Вы можете сделать это, поместив объект bytes в pyarrow.BufferReader.

import pyarrow as pa
import pyarrow.parquet as pq

var_1 = …    
reader = pa.BufferReader(var_1)
table = pq.read_table(reader)
df = table.to_pandas()  # This results in a pandas.DataFrame
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...