Accès aux données d'un formulaire google "feuille de calcul"

Ce qui suit n'a que peu de lien avec OpenERP (exception faite du langage Python) mais cela peut être utile ...

Utilisant régulièrement les formulaires Google, voici un programme en python récupérant les données saisies dans Google pour les insérer dans un fichier :

import gdata.spreadsheet.service
import csv

fileOutput=open("output.csv","w")
fileWriter=csv.writer(fileOutput)

# Create a client class which will make HTTP requests with Google Docs server.
client = gdata.spreadsheet.service.SpreadsheetsService()
# Authenticate using your Google Docs email address and password.
client.ClientLogin('votre_login', 'votre_mot_de_passe')

spreadsheet_feed = client.GetSpreadsheetsFeed()

for sheet in spreadsheet_feed.entry :
    print sheet.title.text

cells = client.GetCellsFeed('google_form_key', wksht_id='od6')

# la clé "google form key" se trouve dans l'URL du formulaire google (ex: 0Aknd6mgd3YJkdFE5aWhhUC1tdUpYalMxRFZRbXBncmc)
# https://docs.google.com/spreadsheet/ccc?key=0Aknd6mgd3YJkdFE5aWhhUC1tdUpYalMxRFZRbXBncmc#gid=0

chaine=''
mem_row = '1'
for cell in cells.entry:
    if cell.cell.col == '9' :
        continue
    if cell.cell.row != mem_row :
        fileWriter.writerow([chaine])
        chaine = ''
    if cell.cell.col == '3' :
        chaine += cell.cell.text[0] + ','
    elif cell.cell.col == '2':
        chaine += cell.cell.text + ' '
    else :
        chaine += cell.cell.text + ','
    mem_row = cell.cell.row

fileWriter.writerow([chaine])
fileOutput.close()

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *