[英]Powershell csv combine two columns and delete data after space
我有一个csv,现在需要像这样每月更新一次,
UserID Name
120 john doe
121 jane doe
122 mike name
123 joe blow
我需要保留现有的UserID,并在Name之前添加UserID数据,然后删除姓氏。
UserID ID
120 120-john
121 121-jane
122 122-mike
123 123-joe
我想通了重命名删除列,但我不知道如何将数据从一个合并到另一个,并删除姓氏。
任何帮助都将是惊人的! 即使您可以填写部分问题,我也可以继续玩
通过导入csv并将其传递给具有计算属性的Select-Object,可以轻松完成此操作...
Import-Csv .\Input.csv | Select-Object UserID, @{n="ID";e={$_.UserID + "-" + $_.Name.Split(" ")[0]}}
如果您要保存输出,请使用管道到Export-Csv ...
Import-Csv .\Import.csv | Select-Object UserID, @{n="ID";e={$_.UserID + "-" + $_.Name.Split(" ")[0]}} | Export-Csv -NoTypeInformation Output.csv
那么这是怎么回事? 在我的select语句的第二部分(@ {..}部分)中:
@{n="ID";e={$_.UserID + "-" + $_.Name.Split(" ")[0]}}
..我的意思是,该列的名称(n =)为“ ID”,其值由表达式(e =)确定,该表达式位于下一对大括号之间。
该表达式表示,使用UserID($ .UserID),加上连字符,并附加$ .Name列的第一部分 (由空格分隔)。
希望能有所帮助(有道理),干杯:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.