OCR機能に見通しが経ったので、認識した数字をcsvファイルに出力し、
EXCELで編集しようとしたら苦戦した。後のために経緯と対策をメモしておく。
1.考え方
(1)バタイユゲームユニットの部隊名は、読取りを部分的に諦める。
文字の認識が難しい為である。特に灰色の縦線が周期的に入っており、
部隊名に重なるので、認識率が低下する。
そこで、認識対象を数字部分に絞ることにした。
(2)認識したデータを基に、EXCELで手動編集する。
100%認識は難しいので、手動編集は不可欠である。そこで、編集が
容易で、マクロによる一部自動化もできるEXCELで行うことにする。
2.csv出力を試す
(1)行単位に出力を試みる
前回までで、OCRで認識したデータはtxtという変数に入っている。
これを基に、以下のように処理した。
・文字列の中から、数字、/、空白、改行コード(\n)のみ取り出す(正規表現を使う)。
・文字列を改行で分割するsplitlinesを使う。
プログラムソースを下記に示す。
出力されたcsvファイルをEXCELで開くと、以下となる。1行N列のデータになってしまう。
(2)対策
csv出力時に1行ごとに出力(下図の17,18行目)する。
出力されたcsvファイルをEXCELで開くと、以下となる。
Pythonは文字列で出力している。それをEXCELが読み込む時に、勝手に解釈している為である。
1例として、3/28が3月28日になってしまう。これは、EXCEL側の問題なので、別途検討する。
<個人的な感想>
何とか編集可能なcsvデータ形式で出力できるようになった。それにしてもEXCELは勝手すぎる・・・。