回答編集履歴
4
修正
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
cols2 = Join(cols, ",")
|
40
40
|
|
41
|
-
dic
|
41
|
+
dicB.Add key, cols2
|
42
42
|
|
43
43
|
Loop
|
44
44
|
|
3
修正
test
CHANGED
@@ -52,21 +52,21 @@
|
|
52
52
|
|
53
53
|
Set oFC = oFSO.OpenTextFile("fileC.csv")
|
54
54
|
|
55
|
-
Do While oA.AtEndOfStream <> True
|
55
|
+
Do While oFA.AtEndOfStream <> True
|
56
56
|
|
57
|
-
line = oA.ReadLine
|
57
|
+
line = oFA.ReadLine
|
58
58
|
|
59
59
|
cols = Split(line, ",")
|
60
60
|
|
61
61
|
outline = line & "," & dicB.Item(cols(5))
|
62
62
|
|
63
|
-
W
|
63
|
+
oFC.WriteLine outline
|
64
64
|
|
65
65
|
Loop
|
66
66
|
|
67
|
-
oA.Close
|
67
|
+
oFA.Close
|
68
68
|
|
69
|
-
oC.Close
|
69
|
+
oFC.Close
|
70
70
|
|
71
71
|
|
72
72
|
|
2
修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
line = oFB.ReadLine
|
26
26
|
|
27
|
-
cols =
|
27
|
+
cols = Split(line, ",")
|
28
28
|
|
29
29
|
key = cols(0)
|
30
30
|
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
line = oA.ReadLine
|
58
58
|
|
59
|
-
cols =
|
59
|
+
cols = Split(line, ",")
|
60
60
|
|
61
61
|
outline = line & "," & dicB.Item(cols(5))
|
62
62
|
|
1
ざっくりコード追記
test
CHANGED
@@ -3,3 +3,71 @@
|
|
3
3
|
あとはファイルAを読みながらFFFで連想配列を参照して、引っ張ってきたものと一緒にファイルAを出力すればよいですね。
|
4
4
|
|
5
5
|
ただファイルBの中身を全部メモリに読み込むことになるので、メモリを圧迫するほどのデータ量だと実用的ではないです。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
ざっくりですが、コードを書いてみました。
|
10
|
+
|
11
|
+
エラー処理等は省いています。
|
12
|
+
|
13
|
+
```VBScript
|
14
|
+
|
15
|
+
' ファイルBを連想配列化
|
16
|
+
|
17
|
+
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
|
18
|
+
|
19
|
+
Set oFB = oFSO.OpenTextFile("fileB.csv")
|
20
|
+
|
21
|
+
Set dicB = CreateObject("Scripting.Dictionary")
|
22
|
+
|
23
|
+
Do While oFB.AtEndOfStream <> True
|
24
|
+
|
25
|
+
line = oFB.ReadLine
|
26
|
+
|
27
|
+
cols = CommonSplit(line, " ", " ")
|
28
|
+
|
29
|
+
key = cols(0)
|
30
|
+
|
31
|
+
For i = 0 to Ubound(cols) - 2
|
32
|
+
|
33
|
+
cols(i) = cols(i+1)
|
34
|
+
|
35
|
+
Next
|
36
|
+
|
37
|
+
ReDim Preserve cols(Ubound(cols)-2)
|
38
|
+
|
39
|
+
cols2 = Join(cols, ",")
|
40
|
+
|
41
|
+
dicFrom.Add key, cols2
|
42
|
+
|
43
|
+
Loop
|
44
|
+
|
45
|
+
oFB.Close
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
' ファイルAを読んでファイルCに出力
|
50
|
+
|
51
|
+
Set oFA = oFSO.OpenTextFile("fileA.csv")
|
52
|
+
|
53
|
+
Set oFC = oFSO.OpenTextFile("fileC.csv")
|
54
|
+
|
55
|
+
Do While oA.AtEndOfStream <> True
|
56
|
+
|
57
|
+
line = oA.ReadLine
|
58
|
+
|
59
|
+
cols = split(line)
|
60
|
+
|
61
|
+
outline = line & "," & dicB.Item(cols(5))
|
62
|
+
|
63
|
+
WScript.Echo outline
|
64
|
+
|
65
|
+
Loop
|
66
|
+
|
67
|
+
oA.Close
|
68
|
+
|
69
|
+
oC.Close
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
```
|