ロトくじCSVファイルを読み込む関数を書く。
パッケージの最上位ディレクトリにdataというディレクトリを作成し、その中に当たり数字データのCSVファイルを格納することにする。
■抽選番号データ
| CSVファイル | 関連記事 |
|---|---|
| ロト7 CSVファイル | ロト7抽選番号のCSVファイルを作成する |
| ロト6 CSVファイル | ロト6抽選番号のCSVファイルを作成する |
| ミニロト CSVファイル | ミニロト抽選番号のCSVファイルを作成する |
まず、それぞれのCSVファイルを読み込む関数を書く。
宝くじ毎にCSVデータの必要なカラムが違うだけなのだが、関数をひとつにまとめるうまい方法が見つからなかったので、愚直に3個の関数を書いた。
(ファイル名) read_miniloto.py
import os, csv
from loto_basic import LotoBasic
def read_miniloto():
csv_file = os.path.dirname(os.path.abspath(__file__)) + '/data/miniloto.csv'
miniloto_data = []
with open(csv_file, 'rt') as fin:
reader = csv.reader(fin)
for num, row in enumerate(reader):
if num == 0:
continue
miniloto = LotoBasic(row[0],\
[int(row[2]), int(row[3]), int(row[4]),\
int(row[5]), int(row[6])], [int(row[7])],\
[int(row[8]), int(row[9]), int(row[10]), int(row[11])],\
[int(row[12]), int(row[13]), int(row[14]), int(row[15])])
miniloto_data.insert(0, miniloto)
return miniloto_data
if __name__ == '__main__':
data = read_miniloto()
for i in data:
print(i)
(ファイル名) read_loto6.py
import os, csv
from loto_basic import LotoBasic
def read_loto6():
csv_file = os.path.dirname(os.path.abspath(__file__)) + '/data/loto6.csv'
loto6_data = []
with open(csv_file, 'rt') as fin:
reader = csv.reader(fin)
for num, row in enumerate(reader):
if num == 0:
continue
loto6 = LotoBasic(row[0],\
[int(row[2]), int(row[3]), int(row[4]),\
int(row[5]), int(row[6]), int(row[7])],\
[int(row[8])],\
[int(row[9]), int(row[10]), int(row[11]), int(row[12]), int(row[13])],\
[int(row[14]), int(row[15]), int(row[16]), int(row[17]), int(row[18])], int(row[19]) )
loto6_data.insert(0, loto6)
return loto6_data
if __name__ == '__main__':
data = read_loto6()
for i in data:
print(i)
(ファイル名) read_loto7.py
import os, csv
from loto_basic import LotoBasic
def read_loto7():
csv_file = os.path.dirname(os.path.abspath(__file__)) + '/data/loto7.csv'
loto7_data = []
with open(csv_file, 'rt') as fin:
reader = csv.reader(fin)
for num, row in enumerate(reader):
if num == 0:
continue
loto7 = LotoBasic(row[0],\
[int(row[2]), int(row[3]), int(row[4]),\
int(row[5]), int(row[6]), int(row[7]), int(row[8])],\
[int(row[9]), int(row[10])],\
[int(row[11]), int(row[12]), int(row[13]), int(row[14]), int(row[15]), int(row[16])],\
[int(row[17]), int(row[18]), int(row[19]), int(row[20]), int(row[21]), int(row[22])], int(row[17]) )
loto7_data.insert(0, loto7)
return loto7_data
if __name__ == '__main__':
data = read_loto7()
for i in data:
print(i)
ファイルの階層構造は以下の通り。
lotonumber ├── data │ ├── loto6.csv │ ├── loto7.csv │ └── miniloto.csv ├── loto.py ├── loto_basic.py ├── read_loto6.py ├── read_loto7.py └── read_miniloto.py
これらの関数を引っさげ、次回はロトくじデータを取得するクラスを書く。