Я работаю с большими файлами данных, хранящимися в Google Cloud. Я использую скрипт Python, который сначала загружает большой двоичный объект, содержащий строки json, а затем открывает его для анализа данных построчно. Этот метод очень медленный, и я хотел бы знать, существует ли более быстрый способ сделать это. Из командной строки я могу использовать gsutil cat
для потоковой передачи данных на стандартный вывод, есть ли аналогичный способ сделать это на Python?
Это то, что я сейчас делаю для чтения данных:
myClient = storage.Client()
bucket = myClient.get_bucket(bucketname)
blob = storage.blob.Blob(blobname, bucket)
current_blob.download_to_filename("filename.txt")
file = open("filename.txt", "r")
data = f.readlines()
for line in data:
# Do stuff
Я хочу читать blob построчно, не дожидаясь загрузки.
Редактировать: я нашел этот ответ , но функция мне не ясна. Я не знаю, как читать потоковые строки.