Как выгрузить CSV-файл, в котором в кавычки заключены только ненулевые значения, кавычки могут быть заключены в кавычки, а нулевые значения не заключены в кавычки? - PullRequest
1 голос
/ 21 октября 2019

(отправка от имени пользователя Snowflake)


Например - "" NiceOne "" LLC "," Robert "," GoodRX ",," Maxift ", "Brian", "P, N and B", "Jane"

Я смог использовать формат файла, который удовлетворяет каждому из этих условий, но не тот, который удовлетворяет всем трем.

Я использовал следующую рекомендацию:

Ваш первый столбец искажен, пропущен начальный ", должно быть:" "" NiceOne "" LLC "

После исправлениячто вы должны иметь возможность загружать ваши данные с настройками почти по умолчанию,

COPY INTO my_table FROM @my_stage/my_file.csv FILE_FORMAT = (TYPE =
CSV FIELD_OPTIONALLY_ENCLOSED_BY = '"');

... но формат выше возвращает: возвращает -

"" "NiceOne" "LLC", "Robert", "GoodRX", "", "Maxift", "Brian", "P, N and B", "Jane"

Я не хочу кавычек вокруг пустых полей. Я ищу

"" "NiceOne" "LLC", "Robert", "GoodRX" ,, "Maxift", "Brian", "P, N and B", "Jane"


Любые рекомендации?

1 Ответ

1 голос
/ 21 октября 2019

Если вы используете следующее, вы не получите кавычки вокруг пустых полей, но вы получите кавычки на '' (пустой текст). Вы всегда можете объединить поля и отформатировать полученную строку вручную, если вам это не подходит.

COPY INTO @my_stage/my_file.CSV
FROM (
  SELECT
    '"NiceOne" LLC' A, 'Robert' B, 'GoodRX' C, NULL D,
    'Maxift' E, 'Brian' F, 'P,N and B' G, 'Jane' H
)
FILE_FORMAT = (
  TYPE = CSV
  FIELD_OPTIONALLY_ENCLOSED_BY = '"'
  NULL_IF = ()
  COMPRESSION = NONE
)
OVERWRITE = TRUE
SINGLE = TRUE
...