生成 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
我正在创建一个 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