powershell - 将特定列复制到powershell中的csv
问题描述
我有两个 CSV 文件: CSV1 和 CSV2 像这样:
$csv1 :
School Class
--------- ----------
School1 C1
School2 c2
School3 c3
$csv2 :
FullName
---------
Fullname1
Fullname2
Fullname3
我用 :
$csv1 = Import-Csv C:\Tools\csv1.csv
$csv2 = Import-Csv C:\Tools\csv2.csv
但是后来我完全迷失了如何在 csv1 中复制 csv2 以获得类似的东西:
School Class FullName
--------- ---------- ---------
School1 C1 Fullname1
School2 c2 Fullname2
School3 c3 Fullname3
解决方案
您可以从这两个文件创建 PSCustomObjects 列表。因此,如果您绝对(我的意思是ABSOLUTELY)确定文件之间的行将正确匹配,您可以执行以下操作:
$csv1 = Import-Csv C:\Tools\csv1.csv
$csv2 = Import-Csv C:\Tools\csv2.csv
$list = [System.Collections.Generic.List[PSObject]]@()
for ($i = 0; $i -lt $csv1.Count; $i++) {
$obj = [PSCustomObject]@{
School = $csv1[$i].School
Class = $csv1[$i].Class
Fullname = $csv2[$i].FullName
}
$list.Add($obj)
}
Write-Output $list
结果:
School Class Fullname
------ ----- --------
School1 C1 Fullname1
School2 c2 Fullname2
School3 c3 Fullname3
推荐阅读
- electron - 使用 Electron 时在路径中显示带有空格的图像(Windows)
- java - jolokia:无法执行带参数的命令
- mysql - 以角度读取节点表达的响应
- excel - 如何在云excel_E1办公包上运行数组公式
- go - 带有 websockets 和 redis 的多房间聊天应用程序
- python - pyodbc,一步创建并插入红移表的方法
- git - git 命令 - checkout 和 switch 之间的区别
- visual-studio-2019 - 将 Platform Toolset 从 v120 升级到 v142 时的编译问题(visualstudio 2019)
- visual-studio - Visual Studio 2019 DSL 工具箱(Microsoft Corporation .Net 组件的 4.0.0.0 版)
- google-apps-script - 选择随机单元格,忽略空单元格