C'est le 20e jour du Calendrier de l'Avent aratana 2019.
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
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
Je suis inscrit avec PyPi, alors pip! Faire. (Actuellement, Python 3.7 et supérieur sont ciblés.
pip install gssetting
Je souhaite extraire uniquement les colonnes de nom et de valeur de la feuille ci-dessous.
from dataclasses import dataclass
from gssetting import GSSetting
@dataclass
class Setting(GSSetting):
username: str
value: str
headers = ["name", "value"]
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
Maintenant que nous avons un package qui vous permet d'obtenir facilement les paramètres de la feuille, je pense à l'utiliser à divers endroits.