Скрипт TPT для игнорирования запятого в двойных кавычках - PullRequest
0 голосов
/ 08 июля 2019

Я написал скрипт TPT для загрузки CSV-файла в teradata

A,   B,   C,   D

1,"hELL,O", 345,,, ME
2,"HELLO,34" 456,,, REC
3,"QWERTY,45", 456,,, WER

Столбец B также содержит двойные кавычки и запятую. Я хотел бы игнорировать эту запятую внутри двойной кавычки

Я использую атрибуты ниже в tpt. Пожалуйста, предложите, если это может быть обработано в скрипте TPT или вам нужно выполнить команду оболочки в файле csv (команда sed, awk, чтобы справиться с этим)

    (
      VARCHAR DirectoryPath = '/home/xyz/',
      VARCHAR FileName = @file_name,
      VARCHAR Format = 'Delimited',
      VARCHAR OpenMode = 'Read',
      VARCHAR TextDelimiter = ',',
      VARCHAR NullColumns = 'Y',
      INTEGER SkipRows = 1,
      VARCHAR SkipRowsEveryFile = 'Y'
)````

Unix Command, that I tried to replace comma with pipe and to ignore comma in double quotes

````awk 'BEGIN { FPAT="([^,]+)|(\"[^\"]+\")"; OFS="|" } $1=$1' $FILE_NAME_OUT1 > $FILE_NAME_OUT2

Не работает, удаляет поле столбца (запятая,)

Например: -

A,   B,   C,   D

1|"hELL,O"| 345| ME
2|"HELLO,34" 456| REC
3|"QWERTY,45"| 456| WER

Пожалуйста, предложите это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...