繁体   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