Grattage du tableau Powerpoint (pptx)

Liste des prédicateurs de données ouvertes de Open Data du portail gouvernemental CIO Grattage de la table pptx dans documents / opendata-dendoushi_ichiran.pptx)

wget https://cio.go.jp/sites/default/files/uploads/documents/opendata-dendoushi_ichiran.pptx -O ichiran.pptx
pip install python-pptx
import pptx
import pandas as pd

prs = pptx.Presentation("ichiran.pptx")

dfs = []

for page in prs.slides:

    data = [[cell.text for cell in row.cells] for row in page.shapes[1].table.rows]

    dfs.append(pd.DataFrame(data[1:], columns=data[0]))

df = pd.concat(dfs).set_index("No.")

df["Groupe d'affiliation, etc."] = df["Groupe d'affiliation, etc."].str.replace("\n", "", regex=True)

df1 = df.join(
    df["Nom complet"].str.split("\n", expand=True).rename(columns={0: "Furigana", 1: "Nom"})
).drop("Nom complet", axis=1)

df2 = df1.reindex(columns=["Nom", "Furigana", "Zone d'activité principale", "Principales réalisations à ce jour", "Groupe d'affiliation, etc."])

df2.to_csv("ichiran.csv", encoding="utf_8_sig")

Recommended Posts

Grattage du tableau Powerpoint (pptx)
Grattage de table avec belle soupe
Grattage 1
[Python] Gratter une table avec Beautiful Soup