gpt4 book ai didi

google-bigquery - 导入 BigQuery 时指定转义字符。 "Error: Data between close double quote (") 和字段分隔符。”

转载 作者:行者123 更新时间:2023-12-04 11:41:45 28 4
gpt4 key购买 nike

我正在尝试将大量 .csv 文件导入 Google BigQuery。

我的一个字符串列有时包含一个数组,其中包含用 \ 转义的双引号。的。例子:

... ,"{\"ex1\":\"somestuffhere\"\,\"ex2\":\"somestuffhere\"\,\"ex3\":\"somestuffhere\"}", ...

我相信这个问题是由 BigQuery 引起的,默认情况下期望双引号被另一个双引号转义 - "" .我已经尝试将不同的参数发送到 --quote论点,但它并没有像我希望的那样发挥作用。

我正在尝试的当前命令行加载命令:
bq load --noreplace --skip_leading_rows=1 --allow_jagged_rows='true' --ignore_unknown_values='true' --quote='"' --source_format=CSV TestDataset.cmdLineTest gs://s3_data_transfers/Events_10422/LIVE/* myschema.json
无论如何我可以让平台接受这些行吗?还是我被迫调查预处理步骤?该表将根据发送的新 csv 每天更新,因此理想情况下尽量将预处理步骤保持在最低限度。

谢谢!

最佳答案

我认为这个问题是由于 --quote你已经指出的论点。自 "是引用 CSV 数据部分的默认值,如果您的数据包含 " 则不连贯.我一直在测试一些类似的数据(使用 \" ),BigQuery 返回相同的错误:

Error: Data between close double quote (") and field separator.

对此的解决方案是指定 --quote flag 到另一个字符(这样,不连贯将被解决)。就我而言,它适用于 ' .以下命令对我有用:
bq --location=US load --autodetect --source_format=CSV --quote "'" MY_DATASET.MY_TABLE MY_CSV_FILE

确保您的数据不包含 ' , 否则您应该为该字符找到另一个字符或将其设置为空字符串,如文档所述。引用 this document有关此标志的详细信息。

关于google-bigquery - 导入 BigQuery 时指定转义字符。 "Error: Data between close double quote (") 和字段分隔符。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54364307/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com