回答編集履歴

2

追記

2016/08/04 14:08

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -36,4 +36,60 @@
36
36
 
37
37
  ```
38
38
 
39
+ ###追記
39
40
 
41
+ これで試してみてください。
42
+
43
+
44
+
45
+ input.csv
46
+
47
+ ```CSV
48
+
49
+ 1601,2016/08/04,001,001
50
+
51
+ 1017,2016/08/04,002,025
52
+
53
+ 1058,2016/08/04,103,001
54
+
55
+ 1358,2016/08/04,500,002
56
+
57
+ 0910,2016/08/04,500,""
58
+
59
+ ```
60
+
61
+ input_list.csv
62
+
63
+ ```CSV
64
+
65
+ 001,りんご支店
66
+
67
+ 002,バナナ支店
68
+
69
+ 025,キウイ支店
70
+
71
+ 103,みかん支店
72
+
73
+ 500,メロン支店
74
+
75
+ ```
76
+
77
+ convert.ps1
78
+
79
+ ```PowerShell
80
+
81
+ $dic = @{}
82
+
83
+ Import-Csv .\input_list.csv -Header ID, Name |
84
+
85
+ % {$dic[$_.ID] = $_.Name}
86
+
87
+ Import-Csv .\input.csv -Header No., day, ID1, ID2 |
88
+
89
+ Select-Object No., day, @{Name="ID1"; Expression={$dic[$_.ID1.PadLeft(3, "0")]}}, @{Name="ID2"; Expression={$dic[$_.ID2.PadLeft(3, "0")]}} |
90
+
91
+ Export-Csv .\OUTPUTData.csv -Encoding Default -NoTypeInformation -Force
92
+
93
+ ```
94
+
95
+

1

追記

2016/08/04 14:08

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -11,3 +11,29 @@
11
11
  %{ $_.END.PadLeft(3,"0")}
12
12
 
13
13
  ```
14
+
15
+ ###追記
16
+
17
+ たとえばこれを
18
+
19
+ ```PowerShell
20
+
21
+ Get-Content C:\work\INPUT.csv | ConvertFrom-Csv -Header No.,day,ID1,ID2 |
22
+
23
+ %{ $_.ID1.PadLeft(3,"0")} |
24
+
25
+ %{ $_.ID2.PadLeft(3,"0")}
26
+
27
+ ```
28
+
29
+ こう変えるとお望みの動作になりますか?
30
+
31
+ ```PowerShell
32
+
33
+ Get-Content C:\work\INPUT.csv | ConvertFrom-Csv -Header No.,day,ID1,ID2 |
34
+
35
+ Select-Object No., day, @{Name="ID1"; Expression={$_.ID1.PadLeft(3, "0")}}, @{Name="ID2"; Expression={$_.ID2.PadLeft(3, "0")}}
36
+
37
+ ```
38
+
39
+