Bigquery bitcoin набор данных SQL запрос для получения транзакций после отметки времени - PullRequest
0 голосов
/ 01 мая 2020

Я хочу создать CSV из всех bitcoin транзакций после отметки времени 1572491526. Поэтому я попробовал приведенный ниже код. Я хочу, чтобы в CSV было четыре столбца -

transaction_id, timestamp, input, output
1                  1        aaa     bbb
1                  1        abc     cde
2                  2        pqr     xyz

Я пробовал это до сих пор

from google.cloud import bigquery
client = bigquery.Client()

QUERY =   """
SELECT timestamp, transaction_id, inputs, outputs              
FROM bigquery-public-data.bitcoin_blockchain.transactions
WHERE timestamp > 1572491526
LIMIT 1

"""



# note that max_gb_scanned is set to 24, rather than 1
queryjob = client.query(QUERY)  # API request
rows = queryjob.result() 

row = list(rows)
import pandas as pd
headlines = pd.DataFrame(data=[list(x.values()) for x in row], columns=list(row[0].keys()))
headlines

Но вывод, который я получаю, неверен. как решить это

timestamp   transaction_id  inputs  outputs
0   1237254030000   8425ac5096ff2b55e0feefa7c78ba609a245e6f185ecde...   [{'input_script_bytes': b'\x04\xff\xff\x00\x1d...   [{'output_satoshis': 5000000000, 'output_scrip...

1 Ответ

0 голосов
/ 01 мая 2020

Вывод, который вы получаете, правильный, я проверил ваш запрос в пользовательском интерфейсе Bigquery и, похоже, вы получаете то же самое. Пожалуйста, учтите, что поля входы и выходы являются массивами, может возникнуть путаница.

enter image description here

Кроме того, я проверил ваш код и получил тот же вывод

from google.cloud import bigquery
client = bigquery.Client()
QUERY =   """
SELECT timestamp, transaction_id, inputs, outputs              
FROM bigquery-public-data.bitcoin_blockchain.transactions
WHERE timestamp > 1572491526
LIMIT 1
"""
# note that max_gb_scanned is set to 24, rather than 1
queryjob = client.query(QUERY)  # API request
rows = queryjob.result() 
row = list(rows)
import pandas as pd
headlines = pd.DataFrame(data=[list(x.values()) for x in row], columns=list(row[0].keys()))
headlines.to_csv('output.csv', index=False, header=True)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...