Comment écrire un script python pour manipuler des données de feuille de calcul Google

StackOverflow https://stackoverflow.com/questions/2377301

  •  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?

Était-ce utile?

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') 

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")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top