【问题标题】:Powershell - Add data from one CSV into new column and rows of another CSV filePowershell - 将一个 CSV 中的数据添加到另一个 CSV 文件的新列和行中
【发布时间】:2020-08-24 18:33:52
【问题描述】:

我正在尝试使用 Powershell 将数据从一个 CSV 文件添加到另一个 CSV 文件中

预期输出示例:

Network, Agent
Net1, Agent1
Net2, Agent2

目前我只能设法添加这样的数据,这会破坏这一点:

Network
Net1
Net2
Agent
Agent1
Agent2

原因是我的程序需要在已生成的 CSV 文件中指定代理。

谁能告诉我如何添加一个额外的列,然后在接下来的行中填充数据?

非常感谢。

【问题讨论】:

    标签: powershell csv


    【解决方案1】:

    如果两个 CSV 文件的数据行数相同,则可以使用 Import-Csvcalculated properties。然后同时循环遍历每个数据行。

    $network = Import-Csv network.csv
    $agent = Import-Csv agent.csv
    0..($network.Count-1) |
        Select @{n='Network';e={$network[$_].Network}},@{n='Agent';e={$agent[$_].Agent}} |
            Export-Csv output.csv -NoType
    

    $_ 是管道中的当前对象,它遍历所有对象。


    如果您想向现有自定义对象添加新属性,您仍然可以使用计算属性。

    Import-Csv network.csv | Foreach-Object {
        $agent = 'Agent Value' # some code to get the agent
        $_ | Select-Object Network,@{n='Agent';e={$agent}}
    } | Export-Csv output.csv -NoType
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-06
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多