生成 CSV 文件

Generate a CSV File

我正在创建一个 powershell 脚本,其中一项功能是 multi-user 从 CSV 创建。

我想要它,所以在脚本运行后它会清除 CSV 文件,然后使用正确的 headers 生成另一个文件。

相关代码

脚本开始

[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

在我看来,这应该行得通,但是这只是创建了一个大的 header。

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

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

试试这个:

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

另一种使用拆分字符串的方法,如下所示:

$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