2017-10-19 18 views
0

Je travaille sur le stockage des entrées d'un modèle dans une feuille Google en tant que base de données visible. J'ai obtenu ma vue à un point où je peux entrer des données dans la feuille à partir de mon modèle Flask, mais cela nécessite de définir une référence statique à laquelle l'index et la rangée les données doivent être placées poAPI Google Sheets avec Flask - Définition de l'index des lignes à partir de ma vue

Voici la vue Je travaille avec:

@app.route('/post', methods=['POST']) 
def post(): 
row = [str(request.form['name']), str(request.form['email']), str(request.form['textBox'])] 
index = 1 
sheet.insert_row(row, index) 
return redirect(url_for('index')) 

Notez le sheet_insert_row (ligne, index). Je suis capable d'accrocher l'entrée à partir des formulaires dans le modèle pour placer dans ma variable de ligne, mais je ne suis pas sûr de la façon d'entrer dynamiquement la variable d'index.

J'ai essayé:

index = sheet.row_count+1 

Mais, malheureusement, les chiffres sur toutes les lignes, peu importe si elles sont remplies ou non. Y at-il un moyen de manipuler cette méthode pour ne travailler que sur les lignes avec des valeurs?

+0

Quelle bibliothèque utilisez-vous pour vous connecter à l'API? –

+0

@LuisOrduz Désolé, j'ai oublié d'inclure cela. J'utilise gspread (https://gspread.readthedocs.io/en/latest/) – Bonteq

+0

@LuisOrduz append_row fonctionne autant que je peux dire, je ne sais pas pourquoi vous avez supprimé votre réponse, mais je vous remercie. – Bonteq

Répondre

0

Vous pouvez ajouter une sorte d'index unique à la ligne "suivante" après chaque insertion. Ajoutez "######" à la première colonne de la ligne suivante lorsque vous insérez, puis vous pouvez le localiser en utilisant find(), ou findall() si vous voulez valider que quelqu'un n'a pas inséré cela .. La meilleure pratique serait de filtrer cela d'être inséré dans votre Python.

Je recommande une base de données réelle ... même si vous êtes dans un environnement où tout le monde aime Excel.