[PYTHON] COCO'S Frühstücksbuffet Store Liste PDF konvertiert in CSV

Einführung

COCO'S Frühstücksbuffet Liste PDF-Datei und Konvertierung in CSV Als Referenz habe ich mit Camelot in PDF konvertiert, Daten mit Pandas bereinigt und in CSV konvertiert.

Vorbereitung

apt install python3-tk ghostscript
pip install camelot-py[cv]
pip install pandas

Datenbereinigung

import camelot
import pandas as pd

tables = camelot.read_pdf(
    "https://www.cocos-jpn.co.jp/menu_pdf/bvshoplist.pdf",
    pages="all",
    split_text=True,
    strip_text="\n",
    line_scale=40,
)

#Spaltenname
columns = ["".join(i) for i in zip(*(tables[0].df.head(2).values))]

dfs = [table.df.iloc[3:].set_axis(columns, axis=1) for table in tables]

#Neu nummerieren
df = pd.concat(dfs).reset_index(drop=True)
df.index += 1

#Ersetzen Sie leere Zeichen durch fehlende
df.mask(df == "", inplace=True)

#Wenn das Implementierungsdatum täglich, wochentags, samstags und sonntags ist
df["Implementierungsdatum"] = df["Implementierungsdatum"].where(df["Nutzungsgebühr"].isnull(), df["Nutzungsgebühr"])

#Ergänzen Sie die täglichen Geschäftsinformationen
df.fillna(method="ffill", inplace=True)

#Löschen Sie die Spalte Nutzungsgebühr
df.drop("Nutzungsgebühr", axis=1, inplace=True)

#Inklusive Steuerbetrag
adult = (
    df["aufgewachsen"]
    .str.extractall("([0-9]+)")
    .unstack()
    .rename(columns={0: "aufgewachsen_Steuer ausgeschlossen", 1: "aufgewachsen_Steuern inklusive"}, level=1)
)
adult.columns = adult.columns.droplevel(level=0)
df["aufgewachsen"] = adult["aufgewachsen_Steuern inklusive"].astype(int)

#Inklusive Steuerbetrag
child = (
    df["Grundschüler und jünger"]
    .str.extractall("([0-9]+)")
    .unstack()
    .rename(columns={0: "Kind_Steuer ausgeschlossen", 1: "Kind_Steuern inklusive"}, level=1)
)
child.columns = child.columns.droplevel(level=0)
df["Grundschüler und jünger"] = child["Kind_Steuern inklusive"].astype(int)

#Adressspalte umbenennen
df.rename(columns={"Nach der Adresse": "Adresse"}, inplace=True)

#Unicode-Normalisierung von Adressen, Entfernung von Bleaching
df["Adresse"] = df["Adresse"].str.normalize("NFKC").str.replace(" ", "")

df.to_csv("cocos.csv", encoding="utf_8_sig")

Referenz

COCO'S Frühstücksbuffet Liste der Geschäfte PDF-Datei abrufen und in CSV konvertieren

Recommended Posts

COCO'S Frühstücksbuffet Store Liste PDF konvertiert in CSV
Konvertieren Sie das PDF der Händlerliste der Go To Eat Hokkaido-Kampagne in CSV
Konvertieren Sie mit pdfplumber von PDF in CSV
Ich möchte eine in Python in PDF konvertierte Tabelle wieder in CSV konvertieren
Konvertieren Sie das PDF der Go To EAT-Mitgliedergeschäftsliste in der Präfektur Kumamoto in CSV
PDF der Präfektur Chiba konvertieren Gehe zur EAT-Mitgliedergeschäftsliste in CSV (Befehl)
Konvertieren Sie das PDF der Produktliste mit wirksamen Tensiden für das neue Coronavirus in CSV
Konvertieren Sie das PDF der Go To EAT-Mitgliedergeschäftsliste in der Präfektur Niigata in CSV
[Python] Fortsetzung - Konvertieren Sie PDF-Text Seite für Seite in CSV