Конвертировать CSV в текстовый файл [powershell] - PullRequest
0 голосов
/ 05 июля 2019

У меня есть скрипт powershell, который редактирует CSV и сохраняет его. Затем я копирую CSV, но сохраняю его как .txt

Мне сказали, что переименование из filename.csv в filename.txt не является правильным способом (на мой взгляд, это работает), но есть другой способ сохранить CSV как файл TXT «правильно»

Это текущий способ сохранения CSV как .TXT

$csv = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\20190522-Name-Num-Location-hey-hey.csv'
$path = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\'
$pathdone = 'C:\Users\xxx\Desktop\xxx Playground\CSV Edit\done'

$txtfile = $date + $lastname + "-" + $lastxxx + "-" + $lastnum + "-" + $lastxxxtwo + "-" + $lastloc + "-" + $newid + ".txt"

# Save txt file as new format

Copy-Item "$csv" -Destination "$path$txtfile"

Напоминание, мой метод работает и выводит .TXT, но есть ли другой способ "правильно" сделать это без переименования "copy-item и сохранения его как txt"

$data = Import-Csv -Path $csv -Header 'Stuff','City','Number','InStock'    # or add whatever headers you like
# get the first column as array of values
$column1 = $data.Stuff
# rotate the array values
switch ($column1.Count) {
    1 { Write-Host "Nothing to do here. There is only one row of data.."; break}
    2 { 
        # swap the values
        $data[0].Stuff,$data[1].Stuff = $data[1].Stuff,$data[0].Stuff
        break
    }
    default {
        $newColumn1 = @($column1[-1]; $column1[0..($column1.Count -2)])
        # re-write the first column in the data
        for ($i = 0; $i -lt $newColumn1.Count; $i++) {
            $data[$i].Stuff = $newColumn1[$i]
        }
    }
}

1 Ответ

2 голосов
/ 05 июля 2019

CSV - это текстовый файл, соответствующий правилам форматирования.Расширение просто говорит, что ожидать, значения, разделенные запятыми.В принципе, нет ничего плохого в том, чтобы сохранить его как текст.Вы не потеряете никакой информации.С самого начала менее понятно, что это все еще файл с разделенными запятыми значениями.Так что, пожалуйста, без головной боли:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...