Как удалить двойные кавычки на конкретный столбец из файла CSV с помощью скрипта Powershell
"ID","Full Name","Age"
"1","Jone Micale","25"
Вот пример из файла CSV, который я создал, и теперь я хочу удалить двойные кавычки только из ID
а также Age
значение столбца.
Я пробовал разные способы, но я не хочу создавать из него новый файл. Я просто хочу обновить файл с изменениями, используя PowerShell v1.
1 ответ
Решение
Export-Csv
всегда ставит все поля в двойные кавычки, поэтому вы должны удалить нежелательные кавычки трудным способом. Нечто подобное может работать:
$csv = 'C:\path\to\your.csv'
(Get-Content $csv) -replace '^"(.*?)",(.*?),"(.*?)"$', '$1,$2,$3' |
Set-Content $csv
Распределение регулярных выражений:
^
а также$
сопоставить начало и конец строки соответственно (Get-Content
возвращает массив со строками из файла)."(.*?)"
сопоставляет текст между двумя двойными кавычками и фиксирует совпадение (без двойных кавычек) в группе.,(.*?),
сопоставляет текст между двумя запятыми и фиксирует совпадение (включая двойные кавычки) в группе.$1,$2,$3
заменяет совпадающую строку на первую, вторую и третью группы, разделенные запятыми из совпадения.