我有一个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]
}
}
}
答案 0 :(得分:2)
CSV 是一个遵循格式约定的文本文件。该扩展名仅告诉您期望值,逗号分隔值。 原则上,将其另存为txt并没有错。您不会丢失任何信息。从一开始就不清楚它仍然只是一个带有逗号分隔值的文件。所以请不要头痛:)