[spip-dev] itérateurs et csv : test

bonjour

le résultat de quelques essais avec le même modèle ; si ça peut aider

sur http://bianco.ficedl.info/spip.php?article432
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

par contre ici http://bianco.ficedl.info/spip.php?article1177
il s'agit de deux traitements par itérateurs
le premier csv issu de OOo, comme ans l'exemple précédent tend à fusionner des cellules (ici j'ai imposé la tabulation comme séparateur)
le second de docs.Google (téléchargé dans le même dossier) ne pose pas ce problème

Claude
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 :slight_smile:

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 :slight_smile:

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 :slight_smile:

as-tu "publié" le document ? Sans quoi il n'est pas accessible par l'API.

-- Fil

en http://zone.spip.org/trac/spip-zone/changeset/43305

pour illustrer tout ça j’ai mis à jour la demo data_csv dans le plugin :

http://zone.spip.org/trac/spip-zone/changeset/43306

la démo affiche automatiquement le contenu intégral du csv :

Pseudo | Prénom | E-mail | Site Internet |

et les colonnes sont triables

(je n’ai pas poussé le vice jusqu’à ajouter de la pagination)

– Fil

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 :slight_smile:

je regarderais de plus près

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 :slight_smile:

as-tu "publié" le document ? Sans quoi il n'est pas accessible par l'API.

c'est ce "publié" que je ne trouve pas dans l'intrface google, je l'ai mis en partagé :

Public - Affichage par tous les internautes via la recherche
Modifier

Claude Delattre (vous)
Est propriétaire

et le lien de partage :
https://docs.google.com/leaf?id=0B2iwYVeiNLRnNDI4ZDUwM2EtMTg3YS00ZTVlLTg5MTEtYzU0YzIxY2U1YWYy&hl=fr

il me semblait que c'était ici : http://bianco.ficedl.info/spip.php?article1177 le tsv ?

en fait je suis su NeoOffice, il faudrait que j'essaie aussi avec un vrai OOo ou un export depuis XL (ça j'ai plus, même au boulot ça a été supprimé)

ah,

merci, c'est beaucoup mieux ; je continuerais des tests cette semaine, et tant pis pour la pagination :slight_smile:

Claude