Je dois parcourir toutes les colonnes récupérées à partir de Google Sheets et découvrir leurs noms et valeurs via un bloc de code comme celui-ci :
data = _input.all()
for item in data:
row = item["json"]
for column_name, value in row.items():
print(f"Colonne: {column_name}")
print(f"Valeur: {value}")
Mais j’ai reçu une erreur disant que _input n’existe pas. Alors, comment puis-je parcourir tous les noms de colonnes et leurs valeurs ?
_input est la syntaxe Python. Si vous recevez le message “_input n’existe pas”, vous êtes probablement en mode JavaScript. Vérifiez la liste déroulante Language en haut du nœud Code. En JavaScript, l’équivalent est $input.all().
print() n’affichera pas la sortie. Le nœud Code vous oblige à retourner des éléments. La sortie de print() ne va nulle part.
Voici une version fonctionnelle en JavaScript (Run Once for All Items) :
const results = [];
for (const item of $input.all()) {
for (const [columnName, value] of Object.entries(item.json)) {
results.push({ json: { columnName, value } });
}
}
return results;
Ou si vous passez au mode Python (nécessite Task Runners, activés par défaut dans la version 2.0+) :
results = []
for item in _input.all():
for column_name, value in item.json.items():
results.append({"json": {"column_name": column_name, "value": value}})
return results
Bienvenue @Quent dans notre communauté ! Je suis Jay et je suis un créateur vérifié n8n.
Dans le nœud Python Code de n8n, la variable est items (pas _input). Chaque élément dans items est un dictionnaire avec une clé json. Voici la version corrigée :
for item in items:
row = item["json"]
for column_name, value in row.items():
print(f"Column: {column_name}")
print(f"Value: {value}")
return items
Note : vous devez également return items à la fin du nœud Code sinon il ne retournera rien en aval.