サンプル: テーブルを抽出して CSV / JSON に保存する ¶
このサンプルでは YomiToku の TableSemanticParser を使って、
画像からテーブル構造を検出・解析し、Key-Value 情報を JSON、Grid 情報を CSV ファイルとして
書き出す基本的な手順を示します。
from yomitoku.table_semantic_parser import TableSemanticParser
from yomitoku.data.functions import load_pdf
images = load_pdf("demo/samples/demo.jpg")
analyzer = TableSemanticParser(visualize=False, device="cuda")
for img in images:
results, _, _ = analyzer(img)
for table in results.tables:
# kv_items を JSON でエクスポート
table.export.kv_items_to_json("output_kv_items.json")
# grids を CSV でエクスポート
table.export.grids_to_csv("output_grid.csv")
コード解説¶
| ステップ | 説明 |
|---|---|
| 1. 画像読込 | load_pdf() は単一画像でも複数ページ PDF でも、ページ単位の np.ndarray を list で返します。 |
| 2. Parser 初期化 | - visualize=False: 可視化画像が不要な場合は False を指定すると処理が高速化します。- device="cuda": GPU を使用する場合に指定します。CPU で使う場合は "cpu" を指定してください。 |
| 3. 解析実行 | analyzer(img) は Tuple を返します。results: テーブルの意味構造(kv_items, grids, cells)を含む解析結果vis_layout: レイアウト可視化画像vis_ocr: OCR 可視化画像 |
| 4. エクスポート | table.export.kv_items_to_json() で Key-Value 情報を JSON に、table.export.grids_to_csv() で Grid 情報を CSV にエクスポートします。 |
出力ファイル¶
output_kv_items.json: テーブル内の Key-Value 構造を辞書形式で保存output_grid_0.csv,output_grid_1.csv, …: Grid 構造を CSV で保存(grid ごとに連番が付与されます)
関連ドキュメント¶
- Table Semantic Parser の利用:
TableSemanticParserの詳細な API 説明