Powershell如何将csv文件中的数据添加到一列

时间:2011-03-23 06:38:57

标签: powershell

我有一个csv文件,其中列数很少。示例

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

我希望将文字添加到列col3,例如

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

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

2 个答案:

答案 0 :(得分: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参数。

答案 1 :(得分: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 ';'