Поскольку CSV - это просто текстовый файл, мы можем рассматривать это как замену строки в первой строке файла (элемент массива 0
)
Этот параметр использует простое выражение регулярного выражения для удаления всего, что не является: 0-9
a-z
A-Z
,
или
(пробел), поэтому просто измените любые другие символы, которые вы хотите оставить в регулярное выражение. Это будет работать с любыми именами заголовков.
$content = Get-Content -Path "$treatmentfolder\data.csv"
$content[0] = $content[0] -replace '[^0-9a-zA-Z, ]'
Set-Content "$treatmentfolder\data.csv"
Другой вариант - объединить несколько replace
в цепочку, это позволяет вам добавлять / удалять / изменять заголовки по своему усмотрению. Но, в отличие от описанного выше, он жестко закодирован для определенных имен заголовков, поэтому не так просто пропустить разные файлы.
$content[0] = $content[0] -replace 'N° Invent.','No_Invent' -replace 'Cd.Srv.Cl.','Cd-Srv-Cl'