2009年11月15日() << 前の日記 | 次の日記 >>
これまでの11月15日 編集

■1PDFファイルのテキスト化[プログラミング] このエントリーをはてなブックマークに追加

とある目的のために、大量のPDF化された帳票データを、DBに投入できる形に加工する必要が生じた。
PDFファイルの内容は、とある拠点の所在地や名称、電話番号や担当者、その他、その拠点に関する備考が表組みされたもので、人間の見た目ではまぁ、分離できそうに見える。
ところが世の中そう甘くは無くて、試掘で何ファイルか抽出して、PDFから簡単にテキスト抽出してみると…
  • 1レコード分のデータは2行から構成されていたり、4行から構成されていたりする。
  • カラムの切れ目は論理的に切れていない。すなわちカラム幅いっぱいに書かれた文字列は、隣のカラムと連結される。
  • 文字数は頼りにならない。表記にもゆれが見られる。
  • 全国のファイルは分業で作られているので、見た目は大体似ていても、論理構造は各々違う。
という残念な状況が分かった。
一瞬、 とか買っちゃおうかと思ったのだけど、中途半端にエクセルに持っていったところで、1万ページを超えるようなエクセルデータを相手に、ヘッダを切ったり結合セルを解除したりと言う作業が待っているわけで却下。
結局、 xpdf[http://www.foolabs.com/xpdf/download.html] 付属のpdftotextのlayoutオプション付きで大体のレイアウトを再現しながらテキストデータにして、住所表記や電話番号等、相互補完できるところを頼りにロバストに切り出して来るようなコードを書く作戦にした。
試掘した感じでは、項目の順序が違う等、見た目でも違いがあるファイルは数タイプ程度の様なので、レイアウトからロバストにやっていけば、数タイプのパーサを書くだけで、全部処理できるはずだ。
朝から書き始めて、ようやく、この方針でいけると確信が持てる程度まで処理できたので、後は明日に。

■ 関連記事

今日のつぶやき

以上、1 日分です。

指定日の日記を表示

前月 2009年11月 翌月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

最近の日記

2019年04月01日

新元号「令和」について

2019年03月23日

DXアンテナ ワイヤレスチューナー メディアコンセント DMC10F1

2019年02月17日

#例のグラボを活用する

2019年01月03日

シリーズ5・myHomeAlexaで自分のCDをかける

2018年12月25日

シリーズ4・英語の楽曲・アルバム・アーティスト名をカタカナに直す

2018年12月23日

シリーズ3: Echo Dotがやってきた

2018年12月19日

続・Echo Dotがやってきた

分野別タイトル一覧


全て
CLIP
SYA!nikki
book
freebsd
hns
magic
おさけ
おしごと
お買いもの
ぐる
ごはん
アクセシビリティ
オープンソース
セキュリティ
音楽
地域情報化
電子自治体
日記

keikuma on Twitter

keikuma Name:前田勝之
Location:長崎市
Web:http://www.nantok...
Bio:前田勝之(まえだかつゆき)。長崎在住。コンサル、SE、プログラマー、 なんとか株式会社代表、非常勤講師(情報セキュリティ)。 セキュアド、テクニカルエンジニア(SV,NW)。サーバ管理とWeb日記を10年ほど。 ネットとリアルの接点に関心あり。食べること・歌うこと・愛すること・作ること・飲むこと。おいしいものがぜんぶすき。

サイト内検索

Google AdSense

Powered by hns-2.19.9, HyperNikkiSystem Project