SBI証券の外国株式配当金支払通知書からデータを抜き出す
確定申告の季節になりましたね。メインの証券会社としてSBI証券を使っています。暫く前から「My資産」というサマリーページが出来て、便利になりましたが、外国株式の配当金から引かれた外国の源泉徴収税の一覧が得られませんでした。 このページ に説明されているのですが、特定口座(源泉徴収あり、配当受け入れ)以外の場合には、都度発行の様です。同じ日に支払われた場合には一つの支払い通知書に複数の支払が記載されています。 外国で支払った源泉徴収税を取り戻したり、分離課税にするか、総合課税にするか、申告不要にするかの検討をする際にspreadsheetにまとまっていると便利ですよね。ネットで検索しつつpythonのプログラムでSBIの支払通知書を読んで、データを取り出すことに成功したので、記事にしました。試したのは米国で外貨決済のものだけです。他国のADR等で別の処理が必要なものもあるかもしれません。 PDFファイルからテーブルを読み出すのにはcamelotというライブラリを使います。pip3でインストール出来ますが、ghostscriptを使いますので、必要なら別途homebrew等でインストールします。 取り敢えず一つ読んでみたら、(1) 日本語が読めない、(2) テーブルがうまく読めない、という状況でこれは駄目そうか、と諦めかけたのですが、line_scaleというパラメタを大きな値に設定したところうまく読めました。 以下にプログラムを示します。まずは必要なモジュールをインポートします。 import camelot import pandas as pd from pathlib import Path 次はpandasのDataFrameを作る準備をします。 cols = ["配当金等支払日", "国内支払日", "現地基準日", "銘柄コード", "1単位あたり金額", "数量", "配当金等金額", "外国源泉徴収税額", "外国精算金額", "国内源泉徴収税額", "受取金額", "申告...