【问题标题】:Powershell how to add data in the csv file to one columnPowershell如何将csv文件中的数据添加到一列
【发布时间】:2011-03-23 06:38:57
【问题描述】:

我有一个 csv 文件,其中几列。例子

col1;col2;col3;col4
文本 1;文本 2;文本 3;文本 4
文本 5;文本 6;文本 7;文本 8
text9;text10;text11;text12

我想在 col3 列中添加文本,例如

col1;col2;col3;col4
text1;text2;追加\text3;text4
text5;text6;追加\text7;text8
text9;text10;追加\text11;text12

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

【问题讨论】:

    标签: powershell


    【解决方案1】:

    试一试:

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

    使用-NoTypeInformation 参数避免此评论被放在您的CSV 顶部:

    #TYPE System.Management.Automation.PSCustomObject
    

    但是,如果您不介意评论,则可以省略 -NoTypeInformation 参数。

    【讨论】:

      【解决方案2】:

      您可能知道如何读取/写入数据。要更改数据,请将它们发送到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 ';'
      

      【讨论】:

      • 非常感谢!我之前什至尝试过这段代码,但似乎我的代码格式错误很少……需要研究更多。问题解决了!
      • 没问题 :) 我看到我们和 Keith 都添加了相同的答案。好笑;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2015-11-29
      • 2020-11-06
      相关资源
      最近更新 更多