Nuxeo mailing list archives
RE: [CPS-users-fr] [CPSCollector] Modifier leséparateur des fichier .csv
Winterflood, Jonathan
jonathan.winterflood at capgemini.com
Mar 19 Juin 14:18:30 CEST 2007
Bonjour,
Il existe un module python permettant de produire des fichiers csv valides : le module 'csv'
Il serait je pense plus judicieux d'utiliser ceci si l'on va modifier CPSCollector. Ce serait surement une bonne idée de remonter cette modification dans le repo.
Ce problème est d'ailleurs spécifié dans le fichier CollectorDocument.py:
# FIXME: should use the standard cvs.py module
Mal orthographié d'ailleurs (il s'agit bien du module csv, pas de cvs.py)
En effet, le pipe est rarement utilisé par les utilisateurs, mais un jour il s'agira peut-être de copier/coller des informations dans le formulaire contenant ces caractères.
Le module csv permet de choisir le délimiteur, et de spécifier la méthode de traitement des champs contenant ce caractère (échappement de celui-ci, utilisation de guillemets, etc.)
Ce module prend en charge tout l'encodage/décodage du fichier CSV et est très simple d'utilisation.
Le format utilisé par Excel est en général séparateur ; utilisation de guillemets " et doublage des guillemets pour les guillemets dans les champs.
A noter qu'il faudra redémarrer Zope pour voir les changements, même en mode debug
Cdt,
Jonathan
________________________________
De : cps-users-fr-bounces at lists.nuxeo.com [mailto:cps-users-fr-bounces at lists.nuxeo.com] De la part de Pascal Van Caldenborgh
Envoyé : mardi 19 juin 2007 12:18
À : cps-users-fr at lists.nuxeo.com
Objet : Re: [CPS-users-fr] [CPSCollector] Modifier leséparateur des fichier .csv
N'est-il pas possible de mettre des " entourant le texte à mettre entre les séparateurs virgule ?
mes fichiers csv produits avec OpenOffice sont générés de cette manière, CPS doit pouvoir traiter ça
On 6/19/07, Patas-d'Illiers Laure <laure.patas-dilliers at finances.gouv.fr> wrote:
Question : on récupère les réponses, on obtient un fichier en ..csv, où les
champs sont délimités par des virgules, et qu'on peut ouvrir dans un tableur.
Mais si un utilisateur a saisi une virgule à l'intérieur d'un champ, elle est
considérée comme un séparateur et cela décale tout. Comment permettre à
l'utilisateur de saisir des virgules sans que cela décale les résultats ?
Réponse : la virgule est le séparateur de champs par défaut dans le format
csv. Pour éviter tout problème, on va utiliser le caractère | comme
séparateur à la place de la virgule. Ce caractère, appelé «pipe», est
obtenu au clavier par les touches AltGr et 6. C'est un caractère rare qui
n'est jamais saisi par les utilisateurs dans les champs. Aller dans
l'instance Zope qui contient le site CPS, dans le répertoire Products qui
contient les produits CPS, et modifier le produit CPSCollector qui gère les
formulaires. Dans le produit /instance_zope/Products/CPSCollector, modifier
le fichier CollectorDocument.py. Les lignes :
if v and (v.find('\n') != -1 or v.find('"') != -1 or \
v.find (',') != -1):
deviennent :
if v and (v.find('\n') != -1 or v.find('"') != -1):
Et la ligne :
l += str(v) + ', '
devient :
l += str(v) + '| '
La modification prendra effet pour tous les sites CPS qui sont dans cette
instance Zope.
Pour récupérer le fichier .csv dans un tableur :
Dans Calc : ouvrir Calc, ouvrir le fichier .csv, une boîte de dialogue
s'ouvre, il faut décocher la case Virgule, cocher la case Autres et saisir |
dans la zone d'à côté.
Dans Excel : ouvrir Excel, Menu Données, Données externes, rechercher le
fichier .csv, une boîte de dialogue s'ouvre, cliquer sur Délimité, puis
décocher les cases des séparateurs, cocher la case Autre et saisir | dans la
zone d'à côté.
______________________________
Laure Patas d'Illiers
Chef de projet
Ministère des Finances DPAEP 2B Projets applicatifs
20 place des vins de France 75573 Paris cedex 12
laure.patas-dilliers at finances.gouv.fr
01 53 44 22 73
-----Message d'origine-----
De : Denis Bitouzé [mailto: dbitouze at wanadoo.fr]
Envoyé : lundi 18 juin 2007 20:01
À : cps-users-fr at lists.nuxeo.com
Objet : [CPS-users-fr] [CPSCollector] Modifier leséparateur des fichier .csv
Bonjour,
dans le README de CPSCollector, il est indiqué :
« You can download all collected data as a csv file. »
Est-il possible de choisir un autre séparateur de champ que la virgule pour
le fichier .csv ? En effet, si un champ de type « textarea » rempli par un
internaute contient une virgule, le fichier .csv est difficilement
exploitable.
Merci d'avance.
--
Denis
_______________________________________________
cps-users-fr
Adresse de la liste : cps-users-fr at lists.nuxeo.com
Gestion de l'abonnement : < http://lists.nuxeo.com/mailman/listinfo/cps-users-fr <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr> >
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
-------------- section suivante --------------
Une pièce jointe HTML a été enlevée...
URL: http://lists.nuxeo.com/pipermail/cps-users-fr/attachments/20070619/536ff7ea/attachment-0001.html
Plus d'informations sur la liste de diffusion cps-users-fr
This list archive provided by Nuxeo, the
leaders of open source ECM.
Check out the Nuxeo 5 open source,
standards-based ECM project.