📜  powershell 删除多个 csv 文件中的列 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:03:51.378000             🧑  作者: Mango

PowerShell 删除多个 csv 文件中的列 - Shell-Bash

在进行数据分析时,有时我们需要删除 csv 文件中的某些列来满足我们的需求。 PowerShell 提供了一个方便的方法来实现这一目标。

删除单个 csv 文件中的列

首先,我们需要使用 Import-Csv 命令将 csv 文件导入到 PowerShell 中:

$data = Import-Csv -Path "path/to/file.csv"

该命令将返回一个对象数组,每个对象代表 csv 文件中的一行数据。

为了删除某些列,我们可以使用 Select-Object 命令,并设置 -ExcludeProperty 参数来选择不需要的列。例如,如果我们想要删除名为 "Column1" 和 "Column2" 的列,我们可以这样做:

$data | Select-Object -ExcludeProperty Column1, Column2 | Export-Csv -Path "path/to/newfile.csv" -NoTypeInformation

这将导出一个新的 csv 文件,其中不包括 "Column1" 和 "Column2" 列。

删除多个 csv 文件中的列

为了删除多个 csv 文件中的列,我们可以编写一个循环来遍历所有文件,并对每个文件执行相同的操作。例如:

$files = Get-ChildItem -Path "path/to/folder/" -Filter *.csv

foreach ($file in $files) {
    $data = Import-Csv -Path $file.FullName
    $data | Select-Object -ExcludeProperty Column1, Column2 | Export-Csv -Path ($file.FullName -replace "\.csv$", "_new.csv") -NoTypeInformation
}

这将对 "path/to/folder/" 中的所有 csv 文件执行操作,并在同一目录下导出新的 csv 文件。

请注意,此示例中使用 -replace 参数来更改新文件的名称。在这种情况下,我们将 ".csv" 后缀替换为 "_new.csv"。

以上即是 PowerShell 删除多个 csv 文件中的列的介绍!