将两个CSV文件合并为一个

埃德温

我有两个没有任何唯一标识符的CSV文件。两个文件的行数始终相同我想按原样合并它们(将第二个CSV作为附加列合并到第一个CSV中)。

file1.csv的内容:

Server,Info  
server1,item1  
server1,item2  
server1,item3  
server2,item1  
server2,item2  
server2,item3  
server3,item1  
server3,item2  
server3,item3  

file2.csv的内容:

Items,ColumnA,ColumnB,ColumnC  
item#1:,aa,jj,ss  
item#2:,bb,kk,tt  
item#3:,cc,ll,uu  
item#1:,dd,mm,vv  
item#2:,ee,nn,ww  
item#3:,ff,oo,xx  
item#1:,gg,pp,yy  
item#2:,hh,qq,zz  
item#3:,ii,rr,ab  

预期输出的csv文件:

Server,Info,Items,ColumnA,ColumnB,ColumnC  
server1,item1,item#1:,aa,jj,ss  
server1,item2,item#2:,bb,kk,tt  
server1,item3,item#3:,cc,ll,uu  
server2,item1,item#1:,dd,mm,vv  
server2,item2,item#2:,ee,nn,ww  
server2,item3,item#3:,ff,oo,xx  
server3,item1,item#1:,gg,pp,yy  
server3,item2,item#2:,hh,qq,zz  
server3,item3,item#3:,ii,rr,ab 

我在网上进行了密集的搜索,但找不到任何解决方案。如果有人可以在此处为我提供一些答案,我将不胜感激。

马丁·布兰德尔

您可以使用Get-Contentcmdlet读取两个CSV文件,使用for循环对其进行迭代,并使用格式字符串将它们连接在一起。最后,使用Out-Filecmdlet写回新文件

$file1 = Get-Content 'Path_to_file1.csv'
$file2 = Get-Content 'Path_to_file2.csv'

$content = for ($i = 0; $i -lt $file1.Length; $i++)
{
    '{0},{1}' -f $file1[$i].Trim(), $file2[$i].Trim()
} 

$content | out-file 'Path_to_file3.csv'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章