У меня настроено ведро в Google Cloud, содержащее несколько сотен файлов json, и я пытаюсь работать с ними в экземпляре datalab, работающем под python 3.
Итак, я легко могу видеть их как объекты, используя
gcs list --objects gs://<BUCKET_NAME>
Далее, я могу читать в отдельном файле / объекте, используя
import google.datalab.storage as storage
import pandas as pd
from io import BytesIO
myBucket = storage.Bucket('<BUCKET_NAME')
data_csv = myBucket.object('<FILE_NAME.json')
uri = data_csv.uri
%gcs read --object $uri --variable data
df = pd.read_csv(BytesIO(data))
df.head()
(К вашему сведению, я понимаю, что мой пример читает json как csv, но давайте проигнорируем это - я перейду этот мост самостоятельно)
Чего я не могу понять, так это как пройтись по корзине и вытянуть все файлы json в панды ... как мне это сделать? Это то, как я должен думать об этом - есть ли способ вызывать файлы в корзине напрямую из панд (так как они уже рассматриваются как объекты)?
В качестве дополнительного бита - что, если файл сохраняется как json, но на самом деле это не та структура? Как я могу справиться с этим?
По сути, я думаю, я ищу функциональность пакета blob, но использую облачные контейнеры + datalab.
Любая помощь очень ценится.