2015-01-30 4 views
0

У меня есть файл CSV, который должен быть преобразован во все строчные буквыКак преобразовать файл csv в нижний регистр или в верхний регистр, поддерживая его структуру с помощью powershell?

Я пробовал код ниже, но не поддерживает структуру CSV.

(Get-Content C:\_Scratch\export.csv).ToLower() | Out-File C:\_scratch\export.csv 

$Init = Import-Csv C:\_Scratch\export.csv 

Есть ли другой вариант, я могу попробовать?

ответ

3

Get-Content собирается предоставить вам массив строк. Добавьте переключатель -Raw, чтобы прочитать его как одну строку, и методы строк .toupper() и .tolower() должны работать над этим.

(Get-Content C:\_Scratch\export.csv -Raw).ToLower() | Out-File C:\_scratch\export.csv 
-1
$TempContentArray = $NULL 
$TempContent = $NULL 
$TempContent = Get-Content C:\_Scratch\import.csv 
Foreach ($Line in $TempContent) 
{ 
    $TempContentArray += $Line.ToUpper() 
} 
$TempContentArray | C:\_scratch\export.csv 
$Init = Import-Csv C:\_Scratch\export.csv 
+0

Это не сохраняет окончания строк, так что все объединяется в одной строке. Предложите в ForEach, что вы просто используете add-content для записи строки в новый файл. Тогда нет необходимости в переменной $ TempContentArray. –