camelotで点線を実線として処理する(ハフ変換)
https://qiita.com/barobaro/items/af850ac29dbc983eb39b
こちらでもcamelotは実線以外の表の抽出が苦手
pdfplumberだと簡単に抽出できるみたい
変換できなかった
Go To EAT事業公式サイト 滋賀県
労働基準関係法令違反に係る公表事案
文字が認識しない、camelotだと抽出可能
変換できた
電話や情報通信機器を用いて診療を実施する医療機関の一覧
電話や情報通信機器を用いて診療を実施する医療機関の一覧(兵庫県)
wget https://www.mhlw.go.jp/content/000691131.pdf -O data.pdf
pip install pdfplumber
import pdfplumber
import pandas as pd
with pdfplumber.open("data.pdf") as pdf:
dfs = []
for page in pdf.pages:
data = page.extract_table()
df_tmp = pd.DataFrame(data[2:], columns=data[1])
dfs.append(df_tmp)
df = pd.concat(dfs)
df.to_csv("hyogo.csv", encoding="utf_8_sig")
千葉県のGo To EaTのPDF
wget https://www.chiba-gte.jp/downloads/store_list.pdf -O data.pdf
import pdfplumber
import pandas as pd
with pdfplumber.open("data.pdf") as pdf:
dfs = []
for page in pdf.pages:
data = page.extract_table()
df_tmp = pd.DataFrame(data)
dfs.append(df_tmp)
df = pd.concat(dfs)
df1 = df.mask(df.isna() | (df == "")).dropna(thresh=4)
df2 = df1[df1[0] != "紙"].reset_index(drop=True)
df2.set_axis(["紙", "電子", "店舗名", "住所", "TEL"], axis=1, inplace=True)
df2.index += 1
df2.to_csv("data.csv")