簡體   English   中英

將 bigquery 中的所有列轉換為浮點數/字符串

[英]Cast all columns in bigquery to float/string

我正在嘗試使用 python 下載 BQ 表,如下所示: from google.cloud import bigquery

client = bigquery.Client()
SQL_QUERY = """
SELECT *
FROM TABLE
"""
df = client.query(SQL_QUERY).to_dataframe()

我在回溯中收到以下錯誤。 看起來, google-cloud-sdk首先將表轉換為 JSON 格式,然后轉儲到 CSV。

    converter = _CELLDATA_FROM_JSON[field.field_type]
KeyError: 'NUMERIC'

我有兩個問題:

  1. 有沒有辦法在使用 Python 下載之前將 BQ 中的所有列轉換為浮點/字符串?
  2. 如何確定哪些列導致了問題?

如果您明確地提及您的列名,您的查詢會變得更具可讀性。

假設您的表有 3 列( abc )。 如果要將這些轉換為浮點數,只需將查詢修改為:

SQL_QUERY = """
  SELECT 
    cast(a as float64) as a, 
    cast(b as float64) as b, 
    cast(c as float64) as c
  FROM TABLE
"""

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM