エクセルで管理されたリストをtrac wikiフォーマットで出力したかったので、
チャレンジしてみました。
やりたいことは、
- excelシートからtrac wikiフォーマットで出力
- 出力した内容をtracにアップデートする
- できればエクセル更新される度に、自動で1、2の処理が実行される(svn or git管理ならフックしていけそう?)
今回は、1の部分のみできたので、忘れないうちに残しとこうと。
残りは今週中になんとか形にしたいな〜
まずは、pythonでexcelを操作するためのモジュール探し。
何個か情報があったのですが、このモジュールがよさげだったので、インストール。
※注意点として、xlsx(office 2007以上?)のフォーマットはまだ対応してませんでした。
今後のアップデートでの対応予定はあるそうです。
sudo easy_install xlrd
コードは、以下のような感じです。
ここのサイトを参考にしました。
ここのサイトを参考にしました。
===================================================
#!/usr/bin/env python
# - - coding: utf-8 - -
# モジュールのインポート
import xlrd
# エクセルシートの読み込み
wb = xlrd.open_workbook('/home/hoge/Documents/hoge.xls')
# シートの1番目を選択
sheets = wb.sheets()
s = sheets[0]
# セルを選択(列番号、行番号)
for cellid in range(0,10):
c1 = s.cell(cellid,1)
c2 = s.cell(cellid,4)
c3 = s.cell(cellid,6)
c4 = s.cell(cellid,7)
c5 = s.cell(cellid,8)
# セルの値を取得
val1 = c1.value
val2 = c2.value
val3 = c3.value
val4 = c4.value
val5 = c5.value
# trac wikiのフォーマットで出力
out = "||" + val1.encode('utf_8') + "||" + val2.encode('utf_8') + "||" + val3.encode('utf-8') + "||" + val4.encode('utf_8') + "||" + val5.encode('utf_8') + "||" + '\n'
# ファイルに書きだす
f = open('/home/hoge/test.txt','a')
f.write(out)
f.close()
===================================================
今回は、特定の行の値を出力した形になっています。
コード的にはもっと簡素にかけそうではありますが、とりあえず動くんでおいおい。
0 件のコメント:
コメントを投稿