【问题标题】:How to extract list of all columns name from BigQuery tables?如何从 BigQuery 表中提取所有列名的列表?
【发布时间】:2021-11-05 05:57:04
【问题描述】:

我有包含多个表的数据集。我想检查一下

  1. 唯一列列表
  2. 所有表的列列表。

我试过了: 这给了我 df 然后列出所有表名

%%bigquery --project ProjectID df
SELECT* EXCEPT(is_typed) FROM tenjin.INFORMATION_SCHEMA.TABLES
#sort list a-z of all the tables inside tenjin
all_tables = sorted(list(df.table_name))

现在我想运行一个循环或 SQL 查询,它可以给我所有列的名称:

我试过了

for table in all_tables:

print("bring magic unique columns list here")
print("columnslist")

【问题讨论】:

    标签: python api google-cloud-platform google-bigquery google-colaboratory


    【解决方案1】:

    有几种方法,但根据您的需要,我认为您可以通过查询<dataset-name>.INFORMATION_SCHEMA.COLUMNS 跳过几个步骤,例如

    %%bigquery --project ProjectID df
    SELECT * FROM tenjin.INFORMATION_SCHEMA.COLUMNS
    
    result = df.groupby("table_name").column_name.apply(list).to_dict()
    

    to_dict 调用是可选的,但可能会使下游的生活更轻松。您可以按如下方式找回您的all_tables,例如:

    all_tables = sorted(list(result.keys()))
    

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 2012-10-06
      • 1970-01-01
      • 2022-08-03
      • 2022-06-23
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多