質問編集履歴
1
期待する出力ややりたいことの修正を行いました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,6 +12,38 @@
|
|
12
12
|
|
13
13
|
今回は2つCSVファイルから特定のデータを抽出し、ハッシュに格納したいと考えております。
|
14
14
|
|
15
|
+
1つ目のCSVから駅のコードを取得し、2つ目のCSVでは1つ目で取得した駅のコードに対応する隣接駅のデータを取得し、
|
16
|
+
|
17
|
+
ハッシュ形式で出力したいです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
期待する出力は下記の通りです。
|
22
|
+
|
23
|
+
["station1", "station2"]
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
→例:
|
28
|
+
|
29
|
+
[1110101, 1110102]
|
30
|
+
|
31
|
+
[1110102, 1110103]
|
32
|
+
|
33
|
+
[1110103, 1110104]
|
34
|
+
|
35
|
+
[1110104, 1110105]
|
36
|
+
|
37
|
+
[1110105, 1110108]
|
38
|
+
|
39
|
+
[1110105, 1110106]
|
40
|
+
|
41
|
+
[1110106, 1110107]
|
42
|
+
|
43
|
+
[1110107, 1110108]
|
44
|
+
|
45
|
+
|
46
|
+
|
15
47
|
|
16
48
|
|
17
49
|
CSVファイルの詳細は下記の通りです。
|
@@ -22,6 +54,8 @@
|
|
22
54
|
|
23
55
|
駅情報に関する情報が格納されたCSVファイル
|
24
56
|
|
57
|
+
→1つ目の駅を取得します
|
58
|
+
|
25
59
|
|
26
60
|
|
27
61
|
※情報量が多いため、全データについては下記URLをご参照ください。
|
@@ -66,6 +100,8 @@
|
|
66
100
|
|
67
101
|
どの駅とどの駅が隣接しているかを確認するための情報が格納されたCSVファイル
|
68
102
|
|
103
|
+
→①で取得した駅と隣接する駅を取得します
|
104
|
+
|
69
105
|
|
70
106
|
|
71
107
|
※情報量が多いため、全データについては下記URLをご参照ください。
|
@@ -122,13 +158,25 @@
|
|
122
158
|
|
123
159
|
|
124
160
|
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
125
171
|
### 発生している問題・エラーメッセージ
|
126
172
|
|
127
|
-
|
128
|
-
|
129
|
-
|
173
|
+
CSVファイルの読み込み、隣接する駅同士のペアリングまで実装しました。
|
130
|
-
|
174
|
+
|
131
|
-
|
175
|
+
しかし、いざ実行しようとすると構文エラーが発生してしまい、動かすことができません。
|
176
|
+
|
177
|
+
→syntax error, unexpected end-of-input, expecting end
|
178
|
+
|
179
|
+
|
132
180
|
|
133
181
|
|
134
182
|
|
@@ -144,36 +192,40 @@
|
|
144
192
|
|
145
193
|
station_codes = {}
|
146
194
|
|
147
|
-
CSV.foreach("station20191227
|
195
|
+
CSV.foreach("station20191227.csv", headers: true) do |row|
|
148
|
-
|
196
|
+
|
149
|
-
station_codes.store(row[0]
|
197
|
+
station_codes.store(row[0])
|
150
198
|
|
151
199
|
end
|
152
200
|
|
153
201
|
|
154
202
|
|
155
|
-
station_codes2 = {}
|
156
|
-
|
157
203
|
CSV.foreach("join20191227.csv", headers: true) do |row|
|
158
204
|
|
205
|
+
station1 = row[1] # station1
|
206
|
+
|
207
|
+
station2 = row[2] # station2
|
208
|
+
|
209
|
+
|
210
|
+
|
159
|
-
station_codes
|
211
|
+
# station_codesのkeyの中からstation1を探す
|
212
|
+
|
213
|
+
station_codes.keys.each do |key, value|
|
214
|
+
|
215
|
+
end
|
216
|
+
|
217
|
+
# もしstation1がstation_codesのkeyに含まれていたら
|
218
|
+
|
219
|
+
if station1 == key
|
220
|
+
|
221
|
+
# 見つけたkeyのvalueにstation2を追加する
|
222
|
+
|
223
|
+
value << station2
|
224
|
+
|
225
|
+
# 含まれていなかったら何もしない
|
226
|
+
|
227
|
+
break
|
160
228
|
|
161
229
|
end
|
162
230
|
|
163
|
-
|
164
|
-
|
165
|
-
station_codes.each do |key, value|
|
166
|
-
|
167
|
-
p [key,value]
|
168
|
-
|
169
|
-
end
|
170
|
-
|
171
231
|
```
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
### 試したこと
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
CSVファイルの読み込みに関する記事をネット検索
|