在 PowerShell 中合并 CSV 文件
可能需要合并多个 CSV 文件并将数据写入 PowerShell 中的文本文件。Import-Csv
和 Export-Csv
cmdlet 可用于执行此操作。
CSV
格式
有多种类型的文件格式可用于不同的目的。CSV
使用简单的结构来存储数据。
它可用于在不同程序之间交换数据。正如其名称 CSV
(逗号分隔值)所暗示的,数据是逗号分隔的。
CSV
文件中存储的信息如下所示。
UserName,Identifier,First Name,Last Name
jak12,1001,Harry,Smith
Rock90,1002,Jeremy,Hamilton
Rick23,1003,Rakesh,Donas
User01,1004,Lokie,Ferguson
分隔符可以是空格、分号或任何其他字符。
让我们创建两个将使用 PowerShell 合并的 csv
文件。
username.csv
内容:
username2.csv
内容:
在 PowerShell 中过滤 .csv
文件
建议使用 Get-ChildItem
cmdlet 来获取指定位置中的所有 .csv
文件类型。可以传递 -Filter
参数以过滤具有 .csv
扩展名的文件。
在你的情况下,.csv
文件的文件夹路径可能会有所不同。
$csvFilePath = "D:\csvfiles"
$csvFileList = Get-ChildItem $csvFilePath -Filter *.csv
让我们检查一下 $csvFileList
中的可用内容。
$csvFileList
输出:
在 PowerShell 中获取每个 .csv
文件对象
让我们用全名检索每个文件对象。Select-Object
cmdlet 可用于检索具有扩展属性的每个对象。
我们将上一步的输出传递给 Select-Object
命令。
$csfFilesToImport = $csvFileList | Select-Object -ExpandProperty FullName
当你显示 $csfFilesToImport
变量时,可以看到两个 CSV
文件对象都可以使用全名。
$csfFilesToImport
输出:
在 PowerShell 中合并 CSV 文件的内容
由于我们得到了所有的 CSV
文件,让我们导入每个文件的内容。这很容易将内容与公共标题行合并。
我们可以使用 Import-CSV
从管道 CSV
文件内容构建类似表格的对象。
$importedCsvFiles = $csfFilesToImport | Import-Csv
$importedCsvFiles
该信息已从提供的两个 CSV
文件中合并。
将合并的内容写入 PowerShell 中的文本文件
我们可以将上述对象转换为 CSV
字符串并将它们保存到文本文件中。Export-Csv
cmdlet 可供使用。
我们应该使用 Append
参数来确保内容不会被替换和附加。
$importedCsvFiles | Export-Csv D:\merged.txt -NoTypeInformation -Append
输出:
这应该会创建一个名为 merged.txt
的新文本文件。该文件内容将从上述两个 CSV
文件中合并。
相关文章
在 PowerShell 中管理服务
发布时间:2024/02/08 浏览次数:116 分类:编程语言
-
本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。
使用 PowerShell 获取 Windows 服务的启动类型
发布时间:2024/02/08 浏览次数:127 分类:编程语言
-
本教程将教你使用 PowerShell 获取启动类型的 Windows 服务。
PowerShell 中的属性 Property 与 ExpandProperty
发布时间:2024/02/08 浏览次数:198 分类:编程语言
-
本文将讨论什么是属性并将它们与扩展属性区分开来。Windows PowerShell 主要集中在显示和生成对象。这些对象由称为属性的特定细节支持。
PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
发布时间:2024/02/08 浏览次数:137 分类:编程语言
-
提供了 PowerShell 执行策略作为安全措施。Bypass 和 Unrestricted 是两个重要的策略,可用于跳过几乎所有的安全检查并运行任何脚本。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:125 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
脚本执行后保持 PowerShell 控制台打开
发布时间:2024/02/08 浏览次数:111 分类:编程语言
-
本文将讨论多种解决方案,这些解决方案将使你的 PowerShell 控制台在脚本执行后保持打开状态,包括 NoExit 参数。