O365 пытается использовать fetchmail для опроса электронной почты на локальном почтовом сервере postfix/dovecot

Вы можете по крайней мере процитировать каждое поле из базы данных, независимо от того, нужно оно ей или нет --это все еще действующий CSV. Не знаю об Azure :в Oracle, вы определили специальные символы с CHR (десятичным _кодом )и объединили разделители и данные с помощью || поэтому ваш разделитель полей в SQL выглядел как || CHR(34) CHR(44) CHR(34) ||(, поэтому я использовал для создания своих запросов в awk ).

Плохо то, что данные могут содержать двойные кавычки. Вам нужно удвоить их внутри полей в кавычках, поэтому:Said "Hello".:становится :"Said ""Hello"".":, а это сложнее сделать.

В awk можно исправить не более одного поля, которое может содержать запятые. Предположим, поле 4 может содержать запятые. Вы можете отрезать поля 1 -3 и 5 -NF, полностью заключить в кавычки поле 4 и собрать строку как правильный CSV. Если это поможет, прокомментируйте меня.

Вы также можете использовать символы новой строки внутри полей CSV, что приводит к путанице столбцов в каждой строке. Это также поправимо в awk. Поскольку перевод строки действителен только в полях с кавычками, любая строка с нечетным количеством кавычек должна находиться на полпути через поле данных, поэтому вы просто читаете -вперед, пока снова не получите четное количество кавычек.

1
21.10.2020, 20:48
0 ответов

Теги

Похожие вопросы