Я пытаюсь загрузить таблицу командой BQ LOAD из Google Cloud Storage в Bigquery. Для этого я использую скрипт Python, который использует библиотеку подпроцессов. Он работает нормально, за исключением таблицы, в которой в качестве разделителя используется вертикальная черта (|).
Я пробовал много способов избежать этого, но без какого-либо хорошего результата.
Если я попробую это в CMD (Windows), это сработает:
bq load --source_format=CSV --field_delimiter="|" Dataset.TableName gs://sourcefile.CSV C:\schemafile.json
но если я попытаюсь передать те же аргументы в python, я получаю следующую ошибку:
BigQuery error in load operation: Field delimiter must be a single character,
found:""|"".
Это код, который я использую (в Windows):
params.append(str("bq"))
params.append(str("load"))
params.append(str("--source_format=CSV"))
params.append(str("--field_delimiter="+field_delimiter))
params.append(str(dest_dataset_table))
params.append(str(source_path))
params.append(str(schema_path))
process = subprocess.run(params, shell=True, capture_output=True)
Как я могу скрыть или загрузить это? Спасибо!