• ベストアンサー

pdfページ内、同じ位置の数字を、抜き取る

30ページほどあるpdfの、一部の数字を、エクセルにて一覧にし、リストにある数字と、重複の確認をしたいと思っています。 Adobeacrobat proを使用しているので、Excelに変換して編集する、のか 何かマクロで、pdfから数字の抽出はできますか?(どのページもフォームが同じで、同じ位置に数字はあります) コピペし、エクセルのリストで、検索を1つずつかけていました。30個以上ありましたので、時間の無駄に思いました。 何か良い案ありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.3

回答No.2の追加です。 重複するデータのセルに色を付けるという方法でよろしければ pdfからのデータがA1から最大A1000までになるとして、リストがC列にあると考えた場合ですが A1からA1000まで選択した状態で 条件つき書式の 数式を使用して・・・ の所に =MATCH(A1,C:C,0)>0 として 書式でセルの色などを設定します。 適用先は =$A$1:$A$1000 になっていると思います A1を選択した状態で条件付き書式の式をいれて適用先が=$A$1になっているのを=$A$1:$A$1000に変更してもいけると思います。 これで以降A列にpdfのデータを取り込む(もしくはコピペする)だけで重複したデータのセルに色が付きます。 あとはフィルターで色指定すれば重複したデータだけを表示する事が出来ます。

123mi123
質問者

お礼

きれいに色がつきます😄!ありがとうございました😭

Powered by GRATICA

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1742/2617)
回答No.2

VBAでPDFファイルを読み込む方法を徹底解説! https://www.sejuku.net/blog/99122 こちらにproを使ってVBAでエクセルに読み込む方法があります。 残念ながらこちらにはproがないので上記のコードを試せません。 あとは検索ですが、どこに探したい数値の列があってリストの列があるのか分かれば参考になる程度の回答ができると思います。

123mi123
質問者

補足

めっちゃ心強いです! すぐわかるんですね 一度、このコードを試してみます。 また進展したらエクセル載せます!!ありがとうございます

回答No.1

PDFを、Excelで、読み込めるように下としても、どのぐらい必要のないものが含まれているのか、変換してみないとわからないと思います。 はじめから、Pythonを使って、数字を抜き出す方法もあるかと思いますが、必要な数字と、必要でない数字が混じり合っている場合は、その選別をしなければなりません。それは、Excelに変換しても同じかと思います。 PDFの中に含まれている数字は、いくつあるのか? 必要のない数字も含まれているのか? 数字の桁数は決まっているのか? いつ様な数字は、1ページに、いくつあるのか? それによって、コードも変わってくるかと思います。 数字を取り出すのか、座標を指定してとり出すのかで、全く違うコードになるかと思います。 せめて、PDFの1ページでも、添付していただけると、回答も付きやすいかと思います。 それと、お使いのExcelのバージョンも、書かれたほうが使える関数が違ってきますので、迷わなくても済むかと思います。 できれば、比較するリストも表示されたほうがいいです。 正規表現を利用して数値を抽出 import re # 数字を抽出する正規表現パターン pattern = r"\d+" # 例:すべての数字を抽出する場合 # ページごとにテキストを解析して数字を抽出 numbers = [] for page_num in range(len(pdf)): page = pdf.load_page(page_num) text = page.get_text("text") page_numbers = re.findall(pattern, text) numbers.append(page_numbers) print(numbers) Excelに、数値を保存 import pandas as pd # 数字データをDataFrameに変換 df = pd.DataFrame(numbers) # Excelファイルに保存 excel_filename = "output.xlsx" df.to_excel(excel_filename, index=False) print(f"データが {excel_filename} に保存されました。") 後は、Excelで countif とか使って比較すればいいのではないでしょうか? 上記コードは、検証していませんので、動くかどうかはわかりません。

123mi123
質問者

補足

わ!本当に、すごいです!!!! ただ、pythonが、インストールされてなくて、上長の許可なくインストールするのがこわくて、pythonというのは、私の希望が叶うこと多いので、ぜひインストールしたいのですが、、、そこからスタートしなくてはなりません。。。 抜き取りたい書類は、割と綺麗な書類で、全て同じで、コピペするのも、ctrl.aで、綺麗にコピれる、省くところはない数字と英語の注文番号です。 載せたいのですが会社の書類なので、今回は辞めときます。 でも、すごく勉強になります。 いつかそのアプリをインストールできたら絶対に、試します!!ありがとぅございます。

関連するQ&A