我想使用PowerShell水平连接一堆CSV文件。(在考虑可能的"重复"问题时,请不要认为"一堆"不是"两个"。(什么是与Linux粘贴命令等效的PowerShell?
几个月前,我向标准PowerShell设备#14994
提交了一份包含Join-Object
cmdlet的提案。
除了基于相关属性的complexer联接之外,我们的想法是还可以进行并排联接(通过省略-On
参数(
以Linux中的Paste
命令为例:
$State =
'Arunachal Pradesh',
'Assam',
'Andhra Pradesh',
'Bihar',
'Chhattisgrah'
$Capital =
'Itanagar',
'Dispur',
'Hyderabad',
'Patna',
'Raipur'
安装
Install-Module -Name JoinModule
创建并排阵列:
1..5 |Join $State |Join $Capital |% { "$_" }
1 Arunachal Pradesh Itanagar
2 Assam Dispur
3 Andhra Pradesh Hyderabad
4 Bihar Patna
5 Chhattisgrah Raipur
创建并排对象:
1..5 |Join $State |Join $Capital -Name Number, State, Capital
Number State Capital
------ ----- -------
1 Arunachal Pradesh Itanagar
2 Assam Dispur
3 Andhra Pradesh Hyderabad
4 Bihar Patna
5 Chhattisgrah Raipur
连接("粘贴"(两个对象:
$List = $State |Join $Capital -Name State, Capital
$Id = ConvertFrom-Csv @'
Id
A
B
C
D
E
'@
$Id |Join $List
Id State Capital
-- ----- -------
A Arunachal Pradesh Itanagar
B Assam Dispur
C Andhra Pradesh Hyderabad
D Bihar Patna
E Chhattisgrah Raipur
参考文献:
Join-Object script
Join-Object Module
- 项目现场
- 另请参阅:在Powershell中,将两个表连接为一个表的最佳方法是什么?(:
请给出👍如果您支持将Join-Object cmdlet添加到标准PowerShell设备(#14994
(的建议