- ExcelとPythonをシームレスにつなげて使いたいなあと思っていた、ところ
- なんだか使えそうなのでモジュールをインストールしたりしてみた
- 結論。できた。
- Excel2007で使えるか試してみたけど今のところ使えそう(workbookをつくって値をいれるところまでは実行出来た)
モジュールのインストール
- pywin32のインストール
- Pyvotのインストール
- ダウンロードサイト:
http://pypi.python.org/pypi/Pyvot
- easy_installでいれる場合もソースはダウンロードすること
- ソースから入れる場合、docutilsがいると言われることがある
- easy_installでもインストールできる
- easy_installのインストール
- まずsetuptoolsをインストールします
- ダウンロードサイト:
http://pypi.python.org/pypi/setuptools
- python27/Scripts/の中にeasy_install.exeがあるので、こいつにPATHを通す
- 環境変数に C:\Python27\Scripts;を追加
- すると今度からコマンドラインでeasy_installといれると実行出来るようになる
- ダウンロードしたディレクトリで
- easy_install Pyvot-0.1.2-py2.7.egg
- のように実行するとインストールされる
- その後、あるファイルをコピーする
- Pyvotを解凍したディレクトリに xl というディレクトリがある
- このxlを
C:\Python27\Lib\ にコピー
- 最初にimport xlとする
- x = xl.Workbook()
- こうすると新しくBook1.xls等の新規excelが作られる
- x = xl.Workbook('path')
- pathを指定すると所定の.xlsや.xlsxを読み込める
- xl.Workbook() だと全体。xl.Workbook()[1]だとB列を読む
- x.view(list)
- Excelのシートにlistを追加
- 繰り返し使うとA列、B列、C列と隣の列に表示が移動していく
- x.get()
- get()の中にいれられるのは
- "A1" A1のパス
- "A1:B4" A1:B4の多重配列のパス
- データの取得
- x.get("A1").get()
- これで取得できる
- 単独なら値、範囲ならリスト
- x.selected_range()
- 選択範囲のパスを取得
- x.selected_range().get()で選択範囲の値を取得
- ワークシートの指定
- どうもできないみたい。active worksheetを自動的に使用する模様
|
|