Pythonスクリプトを使用してGoogle Cloud StorageからJSON形式の表をエクスポートしようとしています。 BigQueryからJSONとして表を手動でエクスポートすると、この形式で行われます。エクスポートされたJSONが間違った形式で出力される
{"f0_":5586.2928892104655}
私はPythonスクリプトを使用してダウンロードしましたが、この形式で受け取ります。
f0_
5586.2928892104655
これは私がJSONを書き出してダウンロードするために使用しているコードです。
def export_data_to_gcs(data, test2, destination):
bigquery_client = bigquery.Client(data)
dataset = bigquery_client.dataset('FirebaseArchive')
table = dataset.table('SumConnectionTime')
job_name = str(uuid.uuid4())
job = bigquery_client.extract_table_to_storage(
job_name, table, 'gs://firebase_results/SumConnectionTime.json')
job.source_format = 'NEWLINE_DELIMITED_JSON'
job.begin()
wait_for_job(job)
def wait_for_job(job):
while True:
job.reload()
if job.state == 'DONE':
if job.error_result:
raise RuntimeError(job.errors)
return
time.sleep(1)
export_data_to_gcs(data, 'SumConnectionTime', destination)
client = storage.Client(project=data)
bucket = client.get_bucket('firebase_results')
blob = bucket.blob('SumConnectionTime.json')
with open('SumConnectionTime.json', 'w') as file_obj:
blob.download_to_file(file_obj)
私は最初に受け取ったフォーマットである必要があります。これは、与えられた値でjson.loadを実行しているためです。助けてくれてありがとう。
私たちは、ファイルが書き込まれることがありますので、ご 'blob'オブジェクトの' download_to_file'方法を見てみる必要がありそうです。また、 'blob'メソッドは' bucket'を読み込むために使用されました。 –
'blob'メソッドを使わずにファイルをダウンロードする別の方法がありますか? –
私はその方法が何をしているのかわからないのですか?これはカスタムメソッドであるようですが、標準ライブラリからは何もありません。 –