Es ist der 20. Tag des aratana Adventskalenders 2019.
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
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
Ich bin bei PyPi registriert, also pip! Machen. (Derzeit sind Python 3.7 und höher als Ziel ausgewählt.
pip install gssetting
Ich möchte nur die Namens- und Wertespalten aus dem folgenden Blatt extrahieren.
from dataclasses import dataclass
from gssetting import GSSetting
@dataclass
class Setting(GSSetting):
username: str
value: str
headers = ["name", "value"]
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
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.