You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Bigquery.LoadJobConfig忽略值内的竖线与引号?

解决BigQuery加载含竖线与引号数据的配置方案

针对你从GCS加载数据到BigQuery时,值内包含竖线(字段分隔符)和引号的问题,只需调整LoadJobConfig的引号相关配置,就能让BigQuery正确识别被引号包裹的字段内容,忽略值内的竖线和引号转义。

关键配置参数说明

  • quote_character='"':指定双引号为字段包裹符,BigQuery会将引号内的所有内容视为单个字段值,包括其中的竖线。
  • quote_escape_character='"':设置用双引号转义字段内的双引号(符合CSV规范,两个连续双引号表示一个实际的双引号),对应你示例中的"247-"001...格式(注意规范数据应该是"247""001-140-60 | 140-60 ",否则会出现语法错误)。
  • allow_quoted_newlines=True:如果数据中存在换行被包裹在引号内的情况,开启这个参数可避免加载失败(可选,但建议加上)。

修改后的配置代码

if schema:
    job_config = bigquery.LoadJobConfig(
        schema=schema,
        field_delimiter='|',
        allow_jagged_rows=True,
        ignore_unknown_values=True,
        max_bad_records=10,
        quote_character='"',
        quote_escape_character='"',
        allow_quoted_newlines=True
    )
else:
    job_config = bigquery.LoadJobConfig(
        field_delimiter='|',
        allow_jagged_rows=True,
        ignore_unknown_values=True,
        max_bad_records=10,
        quote_character='"',
        quote_escape_character='"',
        allow_quoted_newlines=True
    )

注意事项

如果你的数据中内部双引号是用反斜杠\转义的,需要把quote_escape_character改成'\\'。另外要确保源数据的引号格式符合规范,否则可能仍会出现加载错误,此时可以适当调大max_bad_records或者检查数据格式。

内容的提问来源于stack exchange,提问作者slashie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 01:09:28