見よう見まねでPDF上の横並び複数の表を(下記)pythonで抽出しましたが、順番があっていません。当初、ヘッダーが複数あるのでヘッダー大分類を削除したのですが、順番が元ファイルの左から数えた順番とあっていないので、誤解し易くなっています。
下記のコードではなぜこのようになるのか、もっと綺麗にするにはどう改めたらいいかをご教示頂けないでしょうか
python
1 2import pandas as pd 3import camelot 4#上記画像(表)の元PDFファイル(rank.pdf)を抽出 5tables = camelot.read_pdf('rank.pdf', pages='1', split_text=True, strip_text='\n') 6dfs = [] 7 8# dataframeに変換、ヘッダー部削除、ヘッダー追加 9for table in tables: 10 df = table.df 11 df.drop(0, inplace=True) 12 df.columns = ['順位','都道府県','受診率'] 13 dfs.append(df) 14 15# ページ結合 16df_black = pd.concat(dfs) 17 18#不要な行を削除 19df_black=df_black.drop(df_black.index[0]) 20#出力 21df_black.to_csv('rank.csv',encoding='cp932')
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/02 13:29
2021/04/03 02:38