Powershell将CSV数据输出到多行而不是单行

时间:2019-05-08 15:56:04

标签: powershell csv

我有一个CSV文件,其中包含有关某些用户和ID的数据,我必须向每个条目中添加由其name.surname@domain组成的邮件。尽管它设法将其打印到文件中,但当我打开文件时,它已格式化,因此每一列都被分隔成一个条目。

$origin = Get-Content $file

$origin = foreach{ $line= $_.Split(",")

$line+","+line[0].ToLower()+"."+line[1].ToLower()+"@"+$domain

} | Set-Content $outputfile

如果文件有1个条目,如

john,doe,1234

文件的输出应为

john,doe,1234,john.doe@mail.com

但是将每个属性打印为一列

john
doe
1234
@
mail.com

我使用的打印类型错误还是循环错误?

1 个答案:

答案 0 :(得分:0)

该文件是.csv文件。利用这一点。

Import-Csv -Path './joe.csv' -Header fname, lname, empnum |
    Select-Object -Property *, @{Name='email';Expression={$_.fname + '.' + $_.lname + '@mail.com'}} |
    Export-Csv -Path './joe2.csv' -NoTypeInformation