ロト6抽選番号CSVファイル作成スクリプトを流用して、ロト7抽選番号のCSVファイル作成スクリプトを書きます。
■スクリプトファイル
mk7.py
# ロト7抽選番号CSVファイルの作成
import sys, os, re, csv
if len(sys.argv) != 2:
print('引数の数が間違っています。')
print('python {} ロト7抽選番号ファイル'.format(os.path.basename(__file__)))
sys.exit()
spc = re.compile(r'\s+')
# CSV Writerの準備
out_csv = open('loto7.csv', 'wt', newline='')
out_w = csv.writer(out_csv)
# CSVヘッダー行出力
out_w.writerow(['回', '日付', '数字1', '数字2', '数字3', '数字4', '数字5', '数字6', '数字7', 'ボーナス数字1', 'ボーナス数字2',\
'一等の当選数', '二等の当選数', '三等の当選数', '四等の当選数', '五等の当選数', '六等の当選数', '一等当選金額', '二等当選金額', '三等当選金額', '四等当選金額', '五等当選金額', '六等当選金額', 'キャリーオーバー金額'])
with open(sys.argv[1]) as f:
while True:
l1 = f.readline()
if not l1:
break
# 続けて6行読み込む
l2 = f.readline()
l3 = f.readline()
l4 = f.readline()
l5 = f.readline()
l6 = f.readline()
l7 = f.readline()
# 行末の改行を削除する
l1 = l1.replace('\n', '')
l2 = l2.replace('\n', '')
l3 = l3.replace('\n', '')
l4 = l4.replace('\n', '')
l5 = l5.replace('\n', '')
l6 = l6.replace('\n', '')
l7 = l7.replace('\n', '')
# データを空白文字で分割し抜き出す
round = l1[1:-1]
year = l2
date, no1, no2, no3, no4, no5, no6, no7 = re.split(spc, l3)
bn1, bn2 = re.split(spc, l4)
num1, num2, num3, num4, num5, num6 = re.split(spc, l5)
m1, m2, m3, m4, m5, m6 = re.split(spc, l6)
_, co = re.split(spc, l7)
# データ整形
mon, day = date.split('/')
date = '/'.join([year, mon, day])
bn1 = bn1.replace('(', '').replace(')', '')
bn2 = bn2.replace('(', '').replace(')', '')
if num1 == '該当なし':
num1 = 0
else:
num1 = num1.replace('口', '').replace(',', '')
num2 = num2.replace('口', '').replace(',', '')
num3 = num3.replace('口', '').replace(',', '')
num4 = num4.replace('口', '').replace(',', '')
num5 = num5.replace('口', '').replace(',', '')
num6 = num6.replace('口', '').replace(',', '')
if m1 == '該当なし':
m1 = 0
else:
m1 = m1.replace('円', '').replace(',', '')
m2 = m2.replace('円', '').replace(',', '')
m3 = m3.replace('円', '').replace(',', '')
m4 = m4.replace('円', '').replace(',', '')
m5 = m5.replace('円', '').replace(',', '')
m6 = m6.replace('円', '').replace(',', '')
if co == '該当なし':
co = 0
else:
co = co[:-1].replace(',', '') # 『円』と『,』を取る
out_w.writerow([round, date, no1, no2, no3, no4, no5, no6, no7,\
bn1, bn2, num1, num2, num3, num4, num5, num6,\
m1, m2, m3, m4, m5, m6, co])
out_csv.close()
ロト7データファイルを指定して、実行する。
$ python mk7.py loto7.data
カレントディレクトリにloto7.csvが作成される。
以上で、ロトくじのCSVファイルが揃った。
追加データは、直接CSVファイルに追加していってもいいし、宝くじネットからコピペしてデータファイルに追加したものに、これまでのCSVファイル作成スクリプトを実行してもよい。
いよいよ、当選番号予想プログラムを作る。