在powershell中导入和导出csv文件

0 powershell

我有一个 csv 文件“emp.csv”,其中包含以下信息。

empid   status
1   t
2   a
3   t
4   t
5   a
Run Code Online (Sandbox Code Playgroud)

我需要 empid 和具有 status="t" 的员工的状态,并且输出应该位于“res.csv”文件中

Mat*_*sen 5

为此,您首先需要使用Import-Csv- 导入现有数据,但由于您的文件在技术上是 TSV(制表符分隔而不是逗号分隔),因此请确保使用 指定-Delimiter "`t"

$employeeStatusData = Import-Csv .\path\to\emp.csv -Delimiter "`t"
Run Code Online (Sandbox Code Playgroud)

Import-Csv将解析输入文件并将结果对象存储在$employeeStatusData. 要根据status属性/列的值过滤这些对象,请使用Where-Object

$filteredEmployeeData = $employeeStatusData |Where-Object status -eq 't'
Run Code Online (Sandbox Code Playgroud)

现在您已经选择了相关行,您可以使用以下命令再次导出数据Export-Csv

$filteredEmployeeData |Export-Csv .\path\to\res.csv -Delimiter "`t" -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)