[PYTHON] Lesen Sie den Einstellungswert aus der Google Spread Sheet-Einstellung

Es ist der 20. Tag des aratana Adventskalenders 2019. aratana

Vor kurzem habe ich ein Skript ausgeführt, das Site-Informationen in die Einstellungsdatei schreibt und diese überprüft. Jedes Mal, wenn die Anzahl der zu überprüfenden Sites zunimmt, wird die Einstellungsdatei selbst neu geschrieben, sodass sie verbessert wird Ich habe gedacht, dass ich will.

Derzeit ist der Fluss wie folgt.

Manager gibt sein Bestes->Seite geöffnet->Die Seite wurde geöffnet
 ->Füllen Sie die Site-Informationen auf dem Blatt aus
 ->Kontaktiere mich->Ich habe den Server betreten und mich in der Konfigurationsdatei wiedergegeben

Meine Arbeit dauert ein paar Minuten, aber ich habe mich gefragt, wie mühsam es ist. Die Lösung besteht darin, die in der Tabelle geschriebenen Site-Informationen als Master zu verwenden und sie aus dem Skript abzurufen! Ich dachte, also habe ich ein Paket erstellt, um die Einstellungswerte einfach aus der Tabelle zu erhalten. In Python.

gssetting Es ist einfach, aber es ist eine Abkürzung für Google SpreadSheet Setting, und ich habe es gssetting genannt. Es ist ein Bild der Erstellung eines Modells zum Festlegen von Informationen und zum Abrufen von Informationen aus dem darauf basierenden Blatt. Dies hängt von [gspread] ab (https://github.com/burnash/gspread).

Ab dem 20. Dezember 2019 habe ich es eilig gemacht, daher wird es als Alpha behandelt und der Fertigstellungsgrad ist niedrig, aber ich werde es in Zukunft verbessern. (Ich muss eine Testdatei haben

Wie benutzt man

Einführung

Erstellen Sie zunächst ein Dienstkonto und legen Sie es auf dem Zielblatt fest. Bitte beziehen Sie sich auf die folgende Seite. .. .. Google-Tabelle in Python bearbeiten

Installation

Ich bin bei PyPi registriert, also pip! Machen. (Derzeit sind Python 3.7 und höher als Ziel ausgewählt.

pip install gssetting

Modellieren

Ich möchte nur die Namens- und Wertespalten aus dem folgenden Blatt extrahieren.

スクリーンショット 2019-12-19 16.48.28.png
from dataclasses import dataclass

from gssetting import GSSetting


@dataclass
class Setting(GSSetting):
    username: str
    value: str

    headers = ["name", "value"]

Lauf

Durch Ausführen des folgenden Codes ist das Laden abgeschlossen. Danach ist es in Ordnung, wenn Sie es auf eine schöne Weise verarbeiten!

from dataclasses import dataclass

from gssetting import GoogleSpreadSheetSetting, GSSetting


@dataclass
class Setting(GSSetting):
    username: str
    value: str

    headers = ["name", "value"]


if __name__ == "__main__":
    gs_setting = GoogleSpreadSheetSetting(
        "./service_account.json", "document_id"
    )
    settings = gs_setting.load("sheet_name", "A1:C3", Setting)
    print(settings)

    for setting in settings:
        print(setting.username.value)

Ausführungsergebnis

[Setting(name=<Cell R2C1 'ich'>, value=<Cell R2C3 'Hiragana'>), Setting(name=<Cell R3C1 'ich'>, value=<Cell R3C3 'chinesische Charaktere'>)]
ich
ich

Zusammenfassung

Jetzt, da wir ein Paket haben, mit dem Sie einfach Einstellungen aus dem Blatt abrufen können, denke ich darüber nach, es an verschiedenen Stellen wiederzuverwenden.

Recommended Posts

Lesen Sie den Einstellungswert aus der Google Spread Sheet-Einstellung
Greifen Sie über die iOS-App auf Google Kalender zu
Lesen Sie die Zeitung Deep Self-Learning From Noisy Labels