Comment écrire un script python pour manipuler des données de feuille de calcul Google
-
24-09-2019 - |
Question
Je suis en mesure d'obtenir l'alimentation de l'ID de tableur et feuille de calcul. Je veux capturer les données de chaque cellule.
i.e., je suis en mesure d'obtenir l'alimentation de la feuille de calcul. Maintenant, je dois obtenir (type string?) Les données de chacune des cellules pour faire une comparaison et pour l'entrée.
Comment exactement puis-je faire?
La solution
données Google api a une liaison de Python y compris pour les feuilles de calcul: http: //code.google.com/apis/spreadsheets/data/1.0/developers_guide_python.html
Autres conseils
Il y a un autre valeur bibliothèque de tableur pour regarder: gspread. Je l'ai utilisé les données de Google Libary mentionnées ci-dessus et de me l'api fourni est bizarre. Vous devez extraire la clé de tableur pour commencer à travailler avec cette feuille de calcul.
Ici, il est un moyen plus simple. Si vous devez récupérer les données d'une cellule, vous pouvez simplement ouvrir une feuille de calcul et obtenir la valeur:
g = gspread.login('your@gmail.com', 'password')
worksheet = g.open('name_of_the_spreadsheet').get_worksheet(0)
# Say, you need A2
val = worksheet.cell(2, 1).value
# And then update
worksheet.update_cell(2, 1, '42')
Peut-être que vous pouvez utiliser cette bibliothèque http://code.google .com / apis / feuilles de calcul / données / 1.0 / developers_guide_python.html ?
gspread est probablement le meilleur moyen de commencer ce processus, mais il y a des limitations de vitesse sur la mise à jour des données en utilisant gspread de votre ordinateur local. Si vous vous déplacez de grands ensembles de données avec gspread -. Par exemple le déplacement de 20 colonnes de données sur une colonne, vous pouvez automatiser le processus en utilisant un travail CRON
Il y a une autre bibliothèque de feuille de calcul: pygsheets . Son similaire à gspread, mais utilise google api v4. fournit donc plus d'options.
import pygsheets
gc = pygsheets.authorize()
# Open spreadsheet and then workseet
sh = gc.open('my new ssheet')
wks = sh.sheet1
# Update a cell with value (just to let him know values is updated ;) )
wks.update_cell('A1', "Hey yank this numpy array")
# update the sheet with array
wks.update_cells('A2', my_nparray.to_list())
# share the sheet with your friend
sh.share("myFriend@gmail.com")