質問編集履歴

1

期待する出力ややりたいことの修正を行いました。

2020/02/03 12:07

投稿

yn047
yn047

スコア10

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
- ・2つのCSVファイル読み込む段階づいている
173
+ CSVファイル読み込み、隣接する駅同士のペアリングま実装しした
130
-
174
+
131
- ・読み込んだ上で対応するstationcodeのペアを抽出る方法探し出ない
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("station20191227free.csv", headers: true) do |row|
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.store(row[2])
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ファイルの読み込みに関する記事をネット検索