【问题标题】:Powershell - export csv value into specific columnPowershell - 将 csv 值导出到特定列
【发布时间】:2020-02-06 12:36:22
【问题描述】:

语法有一些问题。我正在尝试将变量值复制到另一个 csv 列中。

$file1 = import-csv C:\temp\csv1.csv
$file2 = import-csv C:\Temp\csv2.csv
$file3 = import-csv C:\Temp\csv3.csv

foreach ($line in $file1) {
foreach ($row in $file2) {
    if ($line.col1 -eq $row.col1){
        #this is the part im having issues with:
         $row.col2 = $line.col3 | Export-Csv #???
        }
    }
  }

【问题讨论】:

  • $row 是对$file2 中对象的引用。当您更新 $row 时,$file2 会自动更新。因此,您可以等到完成所有更新。然后最后导出为 CSV --> $file2 | Export-Csv ....

标签: powershell


【解决方案1】:

$row 是对$file2 中对象的引用。当您更新$row 时,$file2 会自动更新。因此,您可以等到完成所有更新后再导出为 CSV。因此,假设您的逻辑在您想要更新 col2$file2 时是正确的,您可以执行以下操作:

$file1 = import-csv C:\temp\csv1.csv
$file2 = import-csv C:\Temp\csv2.csv

foreach ($line in $file1) {
    foreach ($row in $file2) {
        if ($line.col1 -eq $row.col1) {
            $row.col2 = $line.col3
        }
    }
}
$file2 | Export-Csv -Path NewFile.Csv -NoType

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2018-06-26
    相关资源
    最近更新 更多