生成CSV文件

时间:2018-07-23 09:19:49

标签: csv powershell-v4.0

我正在创建Powershell脚本,功能之一是从CSV中创建多用户。

我想要它,因此在脚本运行后,它会清除CSV文件,然后生成另一个具有正确标题的文件。

相关代码

脚本开始

[string]$csvpath = "multiusers.csv"  
$csv = Import-Csv -Path "multiusers.csv"

脚本结束

Clear-Content $csvpath
Write-Output "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" `n`n|FT -AutoSize >>multiusers.csv

在我看来,这应该可行,但是要做的只是创建一个大标题。

1 个答案:

答案 0 :(得分:1)

您将一个长字符串用作一列,首先将其分隔为多个字符串,然后删除| FT -AutoSize[...]部分,创建自定义对象行并使用Export-CSV

另外,您的某些列包含空格,您需要在它们之间添加引号

尝试以下方法:

"" | Select User,"First Name",Surname,"Job Title",Department,"Ticket Number","Managers First Name","Managers Surname"  | Export-csv multiusers.csv -NoTypeInformation

将字符串与split结合使用的另一种方式,

$Columns = "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" -split ","
"" | Select $Columns | Export-csv c:\multiusers.csv -NoTypeInformation

如果您不希望使用逗号作为空白行,请使用Out-File

$Columns = "User,First Name,Surname,Job Title,Department,Ticket Number,Managers First Name,Managers Surname" -split ","
(($Columns | % {'"{0}"' -f $_} ) -join ',') + "`n`n" | Out-File C:\multiusers.csv