エンコード関連でしくじる。目論見道理。
取り急ぎ以下で様子見
コードの目的
RPAでエクセルから中身を取り出して値をどこかに放り投げる為に取り出し元のエクセルの場所を自由に定義できるようにする。
Windows利用想定なので設定ファイルはSHIFT_JISで編集される。メモ帳で編集を想定。
実装
setting.ini
#RPA設定
[Target]
Path = C:\RPA\RPAプロジェクト.xlsx
SheetName = Sheet1
使いたい場所
import ConfigParser
config = ConfigParser.SafeConfigParser()
config.read(sys.argv[0] + '/setting.ini')
filePath = os.path.abspath(unicode(config.get('Target', 'Path'), 'shift-jis').encode('utf-8'))
sheetName = unicode(config.get('Target', 'SheetName'), 'shift-jis').encode('utf-8')
#まだこれ以下は未確定。
#import xlrd
#book = xlrd.open_workbook(filePath)
#sheet = book.sheet_by_name(sheetName)
#cellData = sheet.cell_value(0, 0)
config.get('Target', 'Path') → これの結果はSHIFT_JISなのでutf-8に変換して内部で保管する。
絶対PATHなのに変換する意味ないように見えてちょっとした誤記的なものがあってもPATHとして成形してくれることも期待している。
一つ一つ丁寧に職人の仕事によって設定項目をエンコードするのがダサいポイント。
ラッピングしてとりあえずエンコードをさせてしまうのがいいかもだね。
でもきっともっといい方法あるだろうと・・・いったところで今日はお開き。