FC2ブログ
  • 館内放送 [ツイッター]

    キンコンカンコーン・・・うみゃーだよ。館内放送だみゃ。
    ・・・・・キンコンカンコーン・・・ブツ
  • 町内会からのお知らせ [相互RSS]

【技術部】 Pythonで東証のホームページから売残情報を抽出する 第3回 - Excelファイルの内容を抽出する


※カテゴリー【技術部】は技術者向けの記事となります。

Pythonを使用して、東証のホームページから売残情報を取得します。


目的
東証のホームページから空売り情報を取得する。



使用するもの
Python 2.7
MySQL



このページで説明する内容
第3回の今回は、ダウンロードしたExcelファイルからデータ抽出し、MySQLに取り込む方法について説明します。


前回
【技術部】 Pythonで東証のホームページから売残情報を抽出する 第2回 - Excelファイルの取得



必要なパッケージ
Excelファイルの内容を読み取る部分では以下のパッケージを使用します。

xlrd
Excelファイルの内容を読み取るパッケージ

MySQLdb
MySQLを操作するパッケージ



サンプルソース
# -*- coding: utf-8 -*-
import datetime
import xlrd
import MySQLdb


# ① DB に接続する
con = MySQLdb.connect(db="[データベース名]",user="[ログインユーザー]", passwd="[パスワード]", charset="utf8")
c = con.cursor()

# SQL文
insert_sql = u"insert into karauri_data ( file_name, row, code, date, seller, contractor, shares, ratio, ratio_offset ) values ( %s, %s, %s, %s, %s, %s, %s, %s, %s )"

# ② Excelファイル
excel = u"/home/20151102_Short_Positions.xls"

# ③ Excel Book オープン
book = xlrd.open_workbook( excel )

# Excel Sheet 情報
sheet = book.sheet_by_index(0)

row_no = 0
for row in range(sheet.nrows):
  
  # ④ データチェック (日付)
  date_str = sheet.cell(row,1).value
  date_chk = date_str.split("/")
  
  if date_chk is None:
    continue
  if len(date_chk) <> 3:
    continue
  
  # ⑤ Excelデータ取得
  row_no     = row_no + 1
  code       = sheet.cell(row,2).value
  date_dt    = datetime.datetime.strptime(date_str, '%Y/%m/%d')
  seller     = sheet.cell(row,5).value.encode('utf-8')
  contractor = sheet.cell(row,7).value.encode('utf-8')
  ratio      = sheet.cell(row,10).value
  shares     = sheet.cell(row,11).value
  # データ取得 [ レート差分 ]
  ratio_pre  = sheet.cell(row,14).value
  if ratio_pre == "":
    ratio_pre = 0
  
  ratio_offset = ratio - ratio_pre
  
  # ⑥ データ登録
  values = [ excel, row_no, code, date_dt, seller, contractor, shares, ratio, ratio_offset ]
  c.execute( insert_sql, values )


#コミット
con.commit()


#DBクローズ
con.close()


【説明】
① MySQLに接続します。
② 取込対象のExcelファイルのパスです。
③ xlrd を使用してExcelファイルを開きます。
④ ヘッダーを読み飛ばします。
⑤ Excelファイルのセルから各種情報を抽出します。
⑥ MySQLにInsertとします。



関連記事
【技術部】 Pythonで東証のホームページから売残情報を抽出する 第1回 - 概要説明
【技術部】 Pythonで東証のホームページから売残情報を抽出する 第2回 - Excelファイルの取得
【技術部】 Pythonで東証のホームページから売残情報を抽出する 第3回 - Excelファイルの内容を抽出する

関連記事
この記事へのリアクション

コメントの投稿

非公開コメント




タグ:技術部 Python 東証空売り情報

プロフィール

うみゃー・アパカ

Author:うみゃー・アパカ
UMYA.net公式ブログです。
ツイッター:umya_net


リンクフリーです!
アドレス:http://umyanet.blog.fc2.com/

公式ホームページ

ラインスタンプ配信中!

リンク



スマホアプリ配信中

黄金疾走

スポンサード

人気商品

Powered by amaprop.net