Skip to content

サンプル: テーブルを抽出して CSV / JSON に保存する

このサンプルでは YomiTokuTableSemanticParser を使って、 画像からテーブル構造を検出・解析し、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.ndarraylist で返します。
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 ごとに連番が付与されます)

関連ドキュメント