Я конвертирую CSV-файл в массив, используя этот пост. Все работало нормально. Но у меня есть файл, который содержит лишние кавычки в значениях полей, например:
"bash: "shortcuts" are"
и
"bash: \"shortcuts\" are"
.
Поэтому я попытался заменить эти цитаты следующим образом:
<cffile action="read" file="#filePath#" variable="csvContent">
<cfset csvContent = reReplace(csvContent, '(?:[^,\r\n])"(?:[^,\r\n])', '"', 'ALL')>
<--- Then do the conversion --->
<cfset array = csvToArray(csv = csvContent)>
Но группа без захвата не работает. Что я делаю неправильно?
Есть ли другой способ сделать это?
Изменить 1:
Я также пробовал использовать cfhttp
и получил следующую ошибку:
<cfhttp name="csvToQuery" method="get" url="#url#" />
Подробно: проверьте количество столбцов, указанное в атрибуте columns и в целевом файле.
Сообщение: неправильное количество столбцов в строке.
О, вы не сможете так легко исправить такой ввод самостоятельно. Регулярные выражения еще больше разрушат ваши данные.