如何使用PowerShell Import-CSV Cmdlet

618 阅读3分钟

PowerShell是一种著名的脚本语言,所有现代操作系统都支持。PowerShell采用了各种操作来处理数据。在小范围内处理数据时,你会发现数据被存储在一个excel电子表格中。

Import-CSVcmdlet允许你将CSV文件中的数据导入到任何其他文件或PowerShell控制台中。本文的目的是解释PowerShell中Import-CSVcmdlet的工作和用法。这篇文章的学习成果列举如下。

    • Import-CSV cmdlet是如何工作的?
    • 如何使用Import-CSV cmdlet?

Import-CSV cmdlet是如何工作的?

基本上,Import-CSV会检索在不同文件中呈现的信息,并生成一个参考列表或表格。在导入数据后,foreachcmdlet被用来以水平方式迭代提取数据的内容来执行功能。用于将CSV文件导入PowerShell的语法如下。

Import-CSV <-Path> <-Delimiter> <-Encoding> <-Header> <-LiteralPath> <CommonParameters>

在PowerShell中,每个参数都有自己的重要性,在上面的语法中写到,下面会有一个简短的说明。

    • Import-CSV:创建一个具有表属性的对象,提取CSV文件中存在的项目。
    • 路径:提供CSV文件在系统中的位置。
    • 分隔符:指定分隔文件中数值的字符,如分号(;)。
    • 编码:提供CSV文件的编码特征,如ASCII、UTF8等。
    • 头部:代表自定义头,也就是属性名称。
    • LiteralPath:这个路径参数与路径参数的作用相同。然而,它排除了通配符(如果有的话)。
    • 通用参数:这些参数可以用于PowerShell的所有cmdlet,如Debug ErrorAction、Verbose、WarningAction等。

如何使用Import-CSV Cmdlet?

Import-CSV是一个强大的工具,用于管理CSV文件中的数据。在本节中,我们介绍了一组例子来演示PowerShell中Import-CSV cmdlet的用法。

注意:作为参考,我们使用了一个test.csv文件,我们将从中展示如何使用Import-CSV cmdlet处理数据。test.csv文件包含以下数据。

例1:使用Import-CSV导入所有数据

在这个例子中,我们要导入存储在excel电子表格中的所有数据。如果你想导入一个CSV文件,你需要在Import-CSV cmdlet中指定其绝对路径。ft关键字被用来作为在表中存储数据的替代方法。在我们的例子中,下面的命令将有助于从test.csv文件中检索数据。

Import-CSV -Path C:\Users\DELL\Desktop\test.csv | ft


输出显示,从文件中提取的数据使用ft关键字以表格的形式打印在PowerShell终端。

例2:使用Import-CSV提取特定数据

在Import-CSV cmdlet的帮助下,你可以打印或导入特定数据。例如,如果excel表中有多列,而你只想得到其中一列。你可以通过利用Import-CSV cmdlet来做到这一点。

作为一个例子,下面的Import-CSV cmdlet从文件中获取数据并将其存储在一个变量中。之后,只有检索到的数据中的Age列会被打印出来。

$users = Import-Csv -Path C:\Users\DELL\Desktop\test.csv
$users.Age


输出显示,只有$Age的数据被打印在控制台。

例3:从CSV文件中提取多列数据

在这个方法中,我们使用PowerShell中的Import-CSV cmdlet提取了数据的多个属性。下面提供了一个命令示例。

Write-Host "IMPORTING A CSV FILE IN POWERSHELL"
$file= Import-Csv -Path "C:\Users\DELL\Desktop\test.csv"
Write-Host "THE FILE IS IMPORTED USING CMDLET"
write-host "THE LIST OF SALARY IN THE CSV FILE"
$file.Salary
write-host "THE LIST OF AGE IN THE CSV FILE"
$file.Age

在代码中,首先指定被导入PowerShell的文件的位置。之后,使用对象$file提取工资年龄的属性。


代码的结果显示,两个属性,SalaryAge,被从文件中提取出来并打印在控制台。

结论

Import-CSVcmdlet从一个CSV文件中检索数据。你可以选择整个数据的检索,也可以获得特定的数据。这篇文章演示了PowerShell中Import-CSVcmdlet的工作和使用。在这篇文章中,详细解释了Import-CSVcmdlet的工作和用法。