回答編集履歴

1 回答を一部修正しました

Kapustin

Kapustin score 1156

2017/02/02 17:50  投稿

おそらくですが、csvファイルの最後に改行が入っているのではないでしょうか。
```
1: 野球部,1,3A
2: サッカー部,2,2B
3: テニス部,3,6C
4:
```
このため、最後の空の行もカンマ区切りで配列を作ろうとして作れず、存在しない要素にアクセスしようとしてしまっていることが原因かと思います。
下記の操作を行う前に`csvSplit`の要素数をチェックすると良いかと思います。
このため、最後の空の行に対してカンマ区切りで配列を作ろうとして作れず、存在しない要素にアクセスしようとしてエラーになっていると思われます。
辞書に格納する前に`csvSplit`の要素数をチェックすると良いのではないでしょうか。
```
csvArray[csvSplit[0]] = [csvSplit[1],csvSplit[2]]
   if(csvSplit.count == 3){
       csvArray[csvSplit[0]] = [csvSplit[1],csvSplit[2]]
   }
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る