Fichier PDF de la liste du buffet du petit-déjeuner du COCO et conversion au format CSV Pour référence, j'ai converti en PDF avec camelot, les données nettoyées avec Pandas et converties en CSV.
apt install python3-tk ghostscript
pip install camelot-py[cv]
pip install pandas
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,
)
#Nom de colonne
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]
#Renuméroter
df = pd.concat(dfs).reset_index(drop=True)
df.index += 1
#Remplacer les caractères vides par des caractères manquants
df.mask(df == "", inplace=True)
#Si la date de mise en œuvre est quotidienne, en semaine, les samedis et dimanches
df["Date de mise en oeuvre"] = df["Date de mise en oeuvre"].where(df["Frais d'utilisation"].isnull(), df["Frais d'utilisation"])
#Compléter les informations quotidiennes du magasin
df.fillna(method="ffill", inplace=True)
#Supprimer la colonne des frais d'utilisation
df.drop("Frais d'utilisation", axis=1, inplace=True)
#Montant TTC
adult = (
df["adulte"]
.str.extractall("([0-9]+)")
.unstack()
.rename(columns={0: "adulte_Taxe non comprise", 1: "adulte_taxe inclu"}, level=1)
)
adult.columns = adult.columns.droplevel(level=0)
df["adulte"] = adult["adulte_taxe inclu"].astype(int)
#Montant TTC
child = (
df["Élèves du primaire et plus jeunes"]
.str.extractall("([0-9]+)")
.unstack()
.rename(columns={0: "enfant_Taxe non comprise", 1: "enfant_taxe inclu"}, level=1)
)
child.columns = child.columns.droplevel(level=0)
df["Élèves du primaire et plus jeunes"] = child["enfant_taxe inclu"].astype(int)
#Renommer la colonne d'adresse
df.rename(columns={"Après l'adresse": "adresse de rue"}, inplace=True)
#Normalisation Unicode des adresses, suppression du blanchiment
df["adresse de rue"] = df["adresse de rue"].str.normalize("NFKC").str.replace(" ", "")
df.to_csv("cocos.csv", encoding="utf_8_sig")
Fichier PDF de la liste du buffet du petit-déjeuner du COCO et conversion au format CSV
Recommended Posts