Gepunktete Linie als durchgezogene Linie mit Camelot verarbeiten (Huff-Konvertierung) https://qiita.com/barobaro/items/af850ac29dbc983eb39b
Auch hier kann Camelot keine anderen Tabellen als durchgezogene Linien extrahieren. Es scheint, dass es leicht mit pdfplumber extrahiert werden kann
Zur offiziellen EAT Business-Website der Präfektur Shiga Zeichen werden nicht erkannt, können mit camelot extrahiert werden
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")
https://www.chiba-gte.jp/downloads/store_list.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] != "Papier-"].reset_index(drop=True)
df2.set_axis(["Papier-", "Elektronisch", "Speichername", "Adresse", "TEL"], axis=1, inplace=True)
df2.index += 1
df2.to_csv("data.csv")
Recommended Posts