Python “为什么我会遇到”的英文怎么说;类型错误:';SchemaField';“对象不可编辑”;使用BigQuery创建表时

Python “为什么我会遇到”的英文怎么说;类型错误:';SchemaField';“对象不可编辑”;使用BigQuery创建表时,python,google-bigquery,Python,Google Bigquery,我需要从一个BigQuery表中获取元数据(表结构),并在此基础上创建新表。例如 在我的Python脚本中,FileSubtype是从其他脚本动态传递的,在此基础上,将获取列名及其对应的数据类型。将使用这些列和数据类型创建新表 卡住的部分是,所有这些东西都必须是动态的 样本代码(出于测试目的,我硬编码了表名): 我面临着错误 TypeError:“SchemaField”对象不可编辑` 设置表架构时。表.schema字段需要一个值,例如列表或元组 代码 table.schema = (

我需要从一个BigQuery表中获取元数据(表结构),并在此基础上创建新表。例如

在我的Python脚本中,FileSubtype是从其他脚本动态传递的,在此基础上,将获取列名及其对应的数据类型。将使用这些列和数据类型创建新表

卡住的部分是,所有这些东西都必须是动态的

样本代码(出于测试目的,我硬编码了表名):

我面临着错误

TypeError:“SchemaField”对象不可编辑`


设置表架构时。

表.schema字段需要一个值,例如列表或元组

代码

table.schema = (
    bigquery.SchemaField(row[0], 'STRING')
)
不会将架构设置为iterable,因为纯括号不会创建元组。正确的代码应该是

table.schema = (
    bigquery.SchemaField(row[0], 'STRING'),
)

请注意后面的逗号。

表.schema字段需要一个逗号,例如列表或元组

代码

table.schema = (
    bigquery.SchemaField(row[0], 'STRING')
)
不会将架构设置为iterable,因为纯括号不会创建元组。正确的代码应该是

table.schema = (
    bigquery.SchemaField(row[0], 'STRING'),
)

注意后面的逗号。

实际上,我在执行python脚本时遇到了以下错误:TypeError:“SchemaField”对象不是iterableAre您确定代码中的
bigquery.SchemaField(…)
后面有后面的逗号吗?错误消息表明您没有。实际上,我在执行python脚本时遇到以下错误:TypeError:“SchemaField”对象不可编辑清楚您确定代码中的
bigquery.SchemaField(…)
后面有逗号吗?错误消息表明您没有为后面的逗号注释指定.Thx。为后面的逗号注释指定.Thx。