将新数据添加到 CSV

Adi*_*ilZ 0 csv powershell

所以我有一个包含 3 列的 CSV:VM、GB、时间戳。

我正在尝试做的是:

如果该文件不存在,请从数据集中创建一个新的 CSV $VMdata$VMdata否则用尚未存在的数据更新 CSV $csv(新数据$VMdata也会有一堆旧数据)。

我尝试使用以下代码:

if (![System.IO.File]::Exists($csv)) {
    $VMdata | Export-Csv $csv -NoTypeInformation
} else {
    $importvmstat = Import-Csv $VMdata

    $newvmstat = $importvmstat + $VMstattest | Select Unique
    $newvmstat | Export-Csv $csv -NoTypeInformation
} 
Run Code Online (Sandbox Code Playgroud)

不幸的是,由于某种原因,它$newvmstat = $importvmstat + $VMstattest无法按照我想要的方式工作,并且$newvmstat仅包含其中之一的数据。

Jam*_* C. 5

您可以在这两种情况下使用单个命令,只需使用-Appendwith Export-Csv

$VMdata |  Export-Csv $csv -NoTypeInformation -Append
Run Code Online (Sandbox Code Playgroud)

如果文件存在,它将添加$VMData到文件中,如果不存在,将创建一个新文件。


导入现有的 csv 并向其中添加新数据,然后仅选择唯一的条目:

$FullData = (Import-Csv -Path $csv) + $VMdata | Select -Unique VM,GB,Timestamp

$FullData | Out-GridView

$FullData | Export-Csv $csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)