前提
tabulaを使ってPDFファイルをcsvに変更して、管理しやすくしたいのですが
現在”df.to_csv”でcsvファイルにする際、PDF3枚分の内、1枚(何故か3ページ目)だけしか出力されません。
”df.to_csv”の前のprint(df)では3枚分結果が返ってくるので、printの位置でデータの整形をしないといけないのは、なんとなく分かるのですが、
ネットなどで調べても分からず、打開策が浮かびません。
どこがおかしいのか、問題解決にご助力して頂けると幸いです。
宜しくお願い致します。
実現したいこと
tabulaでPDFから複数ページ抽出したデータを
そのページ数分CSVファイルに出力したいです
発生している問題・エラーメッセージ
最後のページだけCSVファイルに出力される
Python
1ソースコード 2 3 4import pandas as pd 5 6import tabula 7 8 9###PDFファイルパス 10path = 'data/〇〇〇.pdf' 11 12###PDFの読み込み 13dfs = tabula.read_pdf(path, pages='all', lattice=True) 14 15###読み込んだPDFを確認 16# print(dfs) 17 18 19# ###CSVへ出力 20for df in dfs: 21 22 # カラム 23 df.columns = ['取引日付', '取引内容', '出金', '入金', '残高'] 24 25 26 #数値のカンマを消す 27 df['出金'] = df['出金'].replace(',', '', regex=True) 28 df['出金'] = df['出金'].replace(' ', '', regex=True) 29 df['入金'] = df['入金'].replace(',', '', regex=True) 30 df['入金'] = df['入金'].replace(' ', '', regex=True) 31 df['残高'] = df['残高'].replace(',', '', regex=True) 32 df['残高'] = df['残高'].replace(' ', '', regex=True) 33 34 print(df) 35 36 37df.to_csv("result.csv", index=None) 38
補足情報(FW/ツールのバージョンなど)
Python3.9
Pycharm 2022.2.3
pandas 1.5.1
tabula 1.0.5

回答1件
あなたの回答
tips
プレビュー