2010年4月21日水曜日

DeskNet'sからエクスポートしたスケジュールをPythonでGoogleカレンダー用に 整形する

DeskNet's(デスクネッツ)のスケジュールをGoogleカレンダーにインポートして何かいいことあるのかい?
iPhone / iPod Touch が勝手に同期してくれるじゃないか。
 
 

というわけで、PGほぼ素人ながらPython手習いの一環としてスクリプトを書いてみた。
DeskNet'sからエクスポートしたCSVのスケジュールを、Googleインポート用にヘッダ変更と並び変えをして保存するというつくり。
 

まあ、変換するだけなので簡単ですね、サンプルをつなぎ合わせたような。
 

import csv
 
csvfile_in='schedule.csv'
csvfile_out='schedule_out.csv'
 
reader = csv.reader(file(csvfile_in, 'r'))
writer = csv.writer(file(csvfile_out, 'w'), lineterminator='\n')
 
writer.writerow(['Subject','Start Date','Start Time','End Date','End Time','Description','Location'])
 
i = 0
for row in reader:
if i != 0:
# print unicode(row[6], 'cp932').encode('utf8')
rw = [row[8],row[3],row[4],row[5],row[6],row[9]]
print rw
writer.writerow(rw)
 
i = i + 1
 

 

応用でサイボウズもいけますね、ファイル名もなぜか同じだし。
 

これをGoogleのAPIに投げてインポートまで自動化出来たらいいんだけどなあ。
テストツールを使えばともかく、取得元のDeskNet'sやサイボウズとかから取ってくるのをスクリプトで自動化するのが大変。
 
これだけだと汎用性が微妙にエクセルマクロ以下なので、WEBにおいて、CSVアップしたら加工して戻してくれるようにしたいな。
 
 

サイボウズLiveとか、もっとAPI充実しないかなー