le résultat de quelques essais avec le même modèle ; si ça peut aider
oui, super, merci pour les retours
sur Bi 0432 - Cahiers du CPCA - Parution : 1980-1981 - Bianco : presse anarchiste
on voit la différence de traitement pour le même fichier issu de OOo, l'un
avec itérateurs, l'autre avec le traitement des documents joints. Il y a une
fusion de de colonne car la virgule a été transformée en séparateur de
colonne
ton CSV est en fait un TSV 
en Connexion · GitLab [qui est un
report dehttp://core.spip.org/projects/export/repository/revisions/16881/]
on utilise la même fonction de lecture des CSV que celle du traitement
des documents, bien plus complète.
En pratique je ne sais pas si tous les csv ont nécessairement une
première ligne donnant les légendes. Aussi mon approche est la
suivante :
- on passe la première ligne avec les suivantes
- on nomme les items en fonction des champs de la première ligne
(convenablement translittérés et passés en minuscules)
Du coup en reprenant ton exemple de CSV
numéro date
12 mai 1980
34 janv 1981
on peut faire des choses du genre :
<BOUCLE_csv(DATA){datasource xxx.csv,csv}
{date == 1981}
#VALEUR{numero} : #VALEUR{date}
</BOUCLE_csv>
et afficher :
34 : janv 1981
ou encore :
<BOUCLE_legende(DATA){datasource xxx.csv,csv}
{cle=0}
<th>#VALEUR{0} </th><th> #VALEUR{1} </th>
...
<BOUCLE_donnees(DATA){datasource xxx.csv,csv}
{cle>0}
<td>#VALEUR{0} </td><td> #VALEUR{1} </td>
...
pour afficher d'abord la légende, puis les données.
Les colonnes définies par les clés données sur la première ligne
servent donc à faire des tris {par xxx} ou des groupements {fusion
yyy}.
Pour récupérer la liste des clés, utiliser {cle=0}, pour récupérer les
lignes de contenu, utiliser {cle>0}.
pour la lecture d'un tableau directement sur google, là échec (j'ai une
magnifique page de code avec les icones docs.ggogle, etc., j'ose même pas
montrer 
as-tu "publié" le document ? Sans quoi il n'est pas accessible par l'API.
-- Fil