2017年3月6日月曜日

Python競馬予想プログラミング【2】~Excelファイルを読み込む~

Pythonからxlsファイルを読み込むだけでも若干手間取ってしまったので、今回は本当に簡単な操作だけ書きます


------------------------------------------------
1.xlrdをインストール

xlsなどのExcelファイルを開くためには"xlrd"というパッケージが必要です

https://pypi.python.org/pypi/xlrd からダウンロードを行います




私は「xlrd-1.0.0.tar.gz」 を使用しました。

「.gz」ファイルは圧縮されたファイルですので、解凍して使用します。

Lhaplusではできなそうだったので「7-Zip」を使用して解凍し、インストールしました。

が、どのようにインストールしたか忘れてしまいました。しかも思い出せないwので慎重に、自己責任でのインストールをお願いいたします。



ここまででも一苦労でしたねw




----------------------------------------------------------------------
2. Pythonでxlsファイルを読み込む


xlrdとos.pathをインポートしましょう

今更ですが私は開発環境は「Anaconda」を使用してます。もともといろんなパッケージが入っているのですごく便利です

(Anaconda ダウンロード先→https://www.continuum.io/downloads)

Excelのファイルを「2013010506.xls」とします
Excelファイルは競馬インジケータからダウンロードしました



セルA1に年月日と開催競馬場がまとめられていますので、ここからとりあえず開催競馬場を取得したいと思います。



import xlrd
import os.path
xlsfile ="2013010506.xls"
if os.path.exists(xlsfile):
xls = xlrd.open_workbook(xlsfile)
print (sheet1.cell(0,0).value.split(" ")[3])
view raw 03061 hosted with ❤ by GitHub





xlsfile ="2013010506.xls"
#pythonプログラムファイルと同じフォルダにあるファイルを開きます

if os.path.exists(xlsfile):
    xls = xlrd.open_workbook(xlsfile)
#指定したExcelファイルがあれば、開いてxlsという変数にします

print (sheet1.cell(0,0).value.split(" ")[3])
#sheet1.cell(0,0)で文字列を「cell」という型で読み込みます
 →['16年', '1月', '5日', '中山'] (出力結果)

#ちなみにセル(0,0)はExcel上ではA1です

#.valueで読み込んだ文字列の型を「cell」から「value」に変換します
 →'16年', '1月', '5日', '中山' (出力結果)

#.split(" ")で文字列をリスト化します
 →['16年', '1月', '5日', '中山'] (出力結果)
 見た目は変わっていませんが、リストの中を編集可できる文字列になりました

#[3]でリスト内の4番目の文字列を取得します
 →中山 (出力結果)





今回はここまでです。

次回は開催競馬場だけでなく、いろんな情報を取り出したいと思います


0 件のコメント:

コメントを投稿