所以我有一个包含 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仅包含其中之一的数据。
您可以在这两种情况下使用单个命令,只需使用-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)
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |