0

大量のデータ行を含む CSV ファイルを自動化しようとしています。以下にサンプルを示します。

= ID = Last Name = User ID =
============================
= 22 =  Smith    =  0077   =
= 22 =  Smith    =  0078   =
= 22 =  Smith    =  0079   =
= 22 =  Jones    =  0081   =

そしてリストは続きます。

私がしたいのは、ID列を列と結合し、 Last NamePowerShell を使用して新しい CSV ファイルに配置することです。私は次のことを試しました:

@{n=’ID’;e={$_.ID + ”-” + $_.Last Name}}

しかし、これにはあまり運がありませんでした。

4

2 に答える 2

1

まず、コンテンツの csv を互換性のあるものにすることから始めます。

Get-Content file.txt | 
Where-Object {$_ -match '^\s+=\s.+\s+=$'} | 
ForEach-Object { $_ -replace '^\s+=\s*|\s+=$' -replace '\s+=\s+',','} | 
ConvertFrom-Csv -Header ID,LastName,UserID

ID LastName UserID
-- -------- ------
22 Smith    0077  
22 Smith    0078  
22 Smith    0079  
22 Jones    0081

次にSelect-Object、新しい列を作成するために使用します。

...
ConvertFrom-Csv -Header ID,LastName,UserID | 
Select @{n=’ID’;e={$_.ID + '-' + $_.LastName}},UserID

ID       UserID
--       ------
22-Smith 0077  
22-Smith 0078  
22-Smith 0079  
22-Jones 0081
于 2013-08-27T08:13:14.027 に答える