[PYTHON] Lisez la valeur du paramètre dans Google Spread Sheet gssetting

C'est le 20e jour du Calendrier de l'Avent aratana 2019. aratana

Récemment, j'exécute un script qui écrit les informations du site dans le fichier de paramètres et va le vérifier, mais chaque fois que le nombre de sites à vérifier augmente, le travail de réécriture du fichier de paramètres par moi-même est en cours, donc il est amélioré J'ai pensé que je voulais.

Actuellement, le flux est le suivant.

Le manager fait de son mieux->Site ouvert->Le site a ouvert
 ->Remplissez les informations du site sur la feuille
 ->Contactez moi->Je suis entré dans le serveur et je l'ai reflété dans le fichier de configuration

Mon travail prend quelques minutes, mais je me demande à quel point c'est gênant. La solution est d'utiliser les informations du site écrites dans la feuille de calcul comme un maître et de les récupérer à partir du script! J'ai pensé, alors j'ai créé un package pour obtenir facilement les valeurs de réglage de la feuille de calcul. En Python.

gssetting C'est facile, mais je l'ai nommé gssetting, qui est une abréviation de Google SpreadSheet Setting. Il s'agit d'une image de création d'un modèle d'informations de réglage et de récupération d'informations de la feuille en fonction de celles-ci. Cela dépend de gspread.

Depuis le 20 décembre 2019, je l'ai fait à la hâte, il est donc traité comme alpha et le degré d'achèvement est faible, mais je l'améliorerai à l'avenir. (Je dois avoir un fichier de test

Comment utiliser

introduction

Tout d'abord, créez un compte de service et définissez-le sur la feuille cible. Veuillez vous référer au site suivant. .. .. Modifier la feuille de calcul Google en Python

Installation

Je suis inscrit avec PyPi, alors pip! Faire. (Actuellement, Python 3.7 et supérieur sont ciblés.

pip install gssetting

La modélisation

Je souhaite extraire uniquement les colonnes de nom et de valeur de la feuille ci-dessous.

スクリーンショット 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"]

Courir

En exécutant le code ci-dessous, le chargement est terminé. Après cela, ce n'est pas grave si vous le traitez de manière agréable!

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)

Résultat d'exécution

[Setting(name=<Cell R2C1 'je'>, value=<Cell R2C3 'Hiragana'>), Setting(name=<Cell R3C1 'je'>, value=<Cell R3C3 'Caractères chinois'>)]
je
je

Résumé

Maintenant que nous avons un package qui vous permet d'obtenir facilement les paramètres de la feuille, je pense à l'utiliser à divers endroits.

Recommended Posts

Lisez la valeur du paramètre dans Google Spread Sheet gssetting
Accédez à Google Agenda depuis l'application iOS
Lire l'article Auto-apprentissage profond à partir d'étiquettes bruyantes