2011-03-23 252 views
1

我有一个csv文件,其中有几列。例如Powershell如何将csv文件中的数据添加到一列

COL1,COL2,COL3,COL4
文本1,文本2,文字3,文本4
text5; text6; text7; text8
text9; text10,text11,text12

,我想文本添加到柱COL3,像

COL1; COL2; COL3; COL4
的text1; text2的;追加\文字3;文本4
text5; text6;追加\ text7; text8
text9; text10;追加\ text11; text12

所以问题是如何做到这一点:)我卡住了我如何将数据添加到col3中的每一列。

回答

1

您可能知道如何读取/写入数据。要更改数据,请将它们发送到Foreach-Object,更改数据并将对象进一步传递到Export-Csv

Import-Csv d:\temp\so\csv1.txt -Delimiter ';' | 
    ForEach-Object { $_.col3 = 'append\' +$_.col3; $_ } | 
    Export-Csv d:\temp\so\csv2.txt -Delimiter ';' 
+0

非常感谢!我甚至曾尝试过这段代码,但似乎有些代码格式错误...需要学习更多。问题解决了! – JanS 2011-03-23 07:58:44

+0

没问题:)我看到我们都与基思加了同样的答案。有趣;) – stej 2011-03-23 09:05:24

2

给这个一抡:

Import-Csv -Delim ';' cols.csv | 
    ForEach-Object {$_.col3 = "prepend\$($_.col3)";$_} | 
    Export-Csv cols2.csv -Delim ';' -NoTypeInformation 

使用-NoTypeInformation参数,以避免此评论在您的CSV顶部把头发:

#TYPE System.Management.Automation.PSCustomObject 

但是,如果你不这样做请注意评论,然后您可以忽略参数-NoTypeInformation

相关问题