可能是一个简单的问题,但似乎无法找到答案即时寻找其他地方。删除;#从导出的csv sharepoint列表中
伊夫出口SharePoint列表作为包含了两个人与组选择器领域的CSV,出口时,它增加了人/组,即名称的唯一ID盈:
123; #Bob史密斯
我想要实现的是它将Bob Smith显示为如此删除的值;#以及之前的所有内容。
任何帮助将不胜感激。
可能是一个简单的问题,但似乎无法找到答案即时寻找其他地方。删除;#从导出的csv sharepoint列表中
伊夫出口SharePoint列表作为包含了两个人与组选择器领域的CSV,出口时,它增加了人/组,即名称的唯一ID盈:
123; #Bob史密斯
我想要实现的是它将Bob Smith显示为如此删除的值;#以及之前的所有内容。
任何帮助将不胜感激。
好的,谢谢你让你的代码(下一次,如果你编辑的问题,而不是把它变成一个评论它的更好)。
这将加载CSV文件,并且对于每个记录,它将用空白替换不需要的文本,并输出修改的记录,并将输出到更新的文件。
import-csv C:\temp\Assets.csv|%{
$_.UserName = $_.UserName -replace ".*;#"
$_
}|export-csv c:\temp\assets2.csv -notype
试试这个,其中NameOfField是要清理的字段或属性的名称。
$results = Import-CSV pathtofile.csv | Select-Object *,@{n='NameOfField';e={$_.NameOfField -replace '.*;#'}} -excludeproperty NameOfField
$results | Export-CSV pathtonewfile.csv -NoTypeInformation
这将为每条记录引发错误,指出它不能添加属性'NameOfField',因为它已经存在(因为它已经包含在'*'中) – TheMadTechnician 2014-11-05 01:26:05
Not if您可以像上面那样使用-ExcludeProperty。这对于更改管道内的单个属性非常方便。 – markg 2014-11-07 19:46:17
你有什么试过的?你能告诉我们代码,以及你收到的错误吗? – TheMadTechnician 2014-11-05 00:03:54
我最初尝试删除该字符串的一部分,但我不能这样动作,只删除;#部分:'(gc“C:\ Temp \ Assets.CSV”)| #%{$ _ -replace';#',“”} | out-file $ AttachmentPath -Fo -En ascii' – 2014-11-05 00:48:22