j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais
trier le fichier, sauf la première ligne. Et je ne trouve pas de façon
élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon
élégante de la remettre ensuite... Je sais faire un script qui sauvera
dans une variable la première ligne, fera le tri, remettra la ligne,
mais bon, c'est un peu lourd...
sed 1d toto.csv | sort > toto-sorted.csv
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC), Marc Boyer écrivait (wrote):
j'ai un fichier de données, avec une première ligne d'en-tête.
Quelle drôle d'idée ! ;-)
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes" car la méthode par variable me semble tout à fait adaptée.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC),
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> écrivait (wrote):
j'ai un fichier de données, avec une première ligne d'en-tête.
Quelle drôle d'idée ! ;-)
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve
pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon
élégante de la remettre ensuite... Je sais faire un script qui sauvera
dans une variable la première ligne, fera le tri, remettra la ligne,
mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes"
car la méthode par variable me semble tout à fait adaptée.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas
nécessairement constitués d'une seule ligne. Pour traiter correctement
des fichiers CSV, je vous conseille fortement d'utiliser des modules
conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python
ou Ruby existe aussi).
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC), Marc Boyer écrivait (wrote):
j'ai un fichier de données, avec une première ligne d'en-tête.
Quelle drôle d'idée ! ;-)
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes" car la méthode par variable me semble tout à fait adaptée.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Damien Wyart
* Marc Boyer in fr.comp.os.unix:
j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Comme indiqué par Paul, attention, si c'est du CSV, il peut y avoir des pièges.
* Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> in fr.comp.os.unix:
j'ai un fichier de données, avec une première ligne d'en-tête.
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve
pas de façon élégante de le faire.
Comme indiqué par Paul, attention, si c'est du CSV, il peut y avoir des
pièges.
j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Comme indiqué par Paul, attention, si c'est du CSV, il peut y avoir des pièges.
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC), Marc Boyer écrivait (wrote):
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes" car la méthode par variable me semble tout à fait adaptée.
Dommage.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par: 1. Each record is located on a separate line, delimited by a line break (CRLF). For example:
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 22-06-2012, Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit :
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC),
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> écrivait (wrote):
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve
pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon
élégante de la remettre ensuite... Je sais faire un script qui sauvera
dans une variable la première ligne, fera le tri, remettra la ligne,
mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes"
car la méthode par variable me semble tout à fait adaptée.
Dommage.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas
nécessairement constitués d'une seule ligne. Pour traiter correctement
des fichiers CSV, je vous conseille fortement d'utiliser des modules
conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python
ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par:
1. Each record is located on a separate line, delimited by a line
break (CRLF). For example:
Ceci dit, dans les fichiers que je manipule là, il n'y a bien
que des données rangées par ligne.
Et puis bon, l'usage de modules spécifiques, le jour où il faudra
maintenir, il faudra que je relise la doc. La sémantique de
sort, head & cat, elle est stable.
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
À (at) Fri, 22 Jun 2012 09:29:49 +0000 (UTC), Marc Boyer écrivait (wrote):
J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Je laisse à d'autres le soin d'imaginer des solutions "plus élégantes" car la méthode par variable me semble tout à fait adaptée.
Dommage.
sed 1d toto.csv | sort > toto-sorted.csv
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par: 1. Each record is located on a separate line, delimited by a line break (CRLF). For example:
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de version de awk parsant ce format qui semble lui convenir comme un gant?
A+
-- Jean-Marc, appliquant la bonne vieille methode, affirmons sans preuve, Usenet dementira si c'est faux Site de usenet-fr: http://www.usenet-fr.news.eu.org
Paul Gaborit <Paul.Gaborit@invalid.invalid> writes:
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de
version de awk parsant ce format qui semble lui convenir comme un gant?
A+
--
Jean-Marc, appliquant la bonne vieille methode, affirmons sans preuve,
Usenet dementira si c'est faux
Site de usenet-fr: http://www.usenet-fr.news.eu.org
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de version de awk parsant ce format qui semble lui convenir comme un gant?
A+
-- Jean-Marc, appliquant la bonne vieille methode, affirmons sans preuve, Usenet dementira si c'est faux Site de usenet-fr: http://www.usenet-fr.news.eu.org
Emmanuel Florac
Le Fri, 22 Jun 2012 13:06:37 +0200, Damien Wyart a écrit:
et un UUOC de la plus belle eau :) Plus simplement
perl -e '....' fichier
-- a script is what you give the actors, a program is what you give the audience. Ada Lovelace according to Larry Wall
Marc Boyer
Le 22-06-2012, Marc Boyer a écrit :
Bonjour,
j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Fallait juste réfléchir: { head -1 toto.csv && sed 1d toto.csv | sort }
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 22-06-2012, Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> a écrit :
Bonjour,
j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais
trier le fichier, sauf la première ligne. Et je ne trouve pas de façon
élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon
élégante de la remettre ensuite... Je sais faire un script qui sauvera
dans une variable la première ligne, fera le tri, remettra la ligne,
mais bon, c'est un peu lourd...
Fallait juste réfléchir:
{ head -1 toto.csv && sed 1d toto.csv | sort }
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
j'ai un fichier de données, avec une première ligne d'en-tête. J'aimerais trier le fichier, sauf la première ligne. Et je ne trouve pas de façon élégante de le faire.
Je peux supprimer la première ligne, mais je ne trouve pas de façon élégante de la remettre ensuite... Je sais faire un script qui sauvera dans une variable la première ligne, fera le tri, remettra la ligne, mais bon, c'est un peu lourd...
Fallait juste réfléchir: { head -1 toto.csv && sed 1d toto.csv | sort }
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
et un UUOC de la plus belle eau :) Plus simplement
;-)
Et m... zut ! J'ai essayé de l'éviter sur la première forme (sans perl), sans succès (read -u prend un fd, ce qui alourdit les choses), et du coup j'ai copié-collé pour la version perl. Désolé !
perl -e '....' fichier
En effet ; le pire c'est que j'ai ai pensé mais seulement pour la version shell :)
* Emmanuel Florac <eflorac@imaginet.fr> in fr.comp.os.unix:
et un UUOC de la plus belle eau :) Plus simplement
;-)
Et m... zut ! J'ai essayé de l'éviter sur la première forme (sans perl),
sans succès (read -u prend un fd, ce qui alourdit les choses), et du
coup j'ai copié-collé pour la version perl. Désolé !
perl -e '....' fichier
En effet ; le pire c'est que j'ai ai pensé mais seulement pour la
version shell :)
et un UUOC de la plus belle eau :) Plus simplement
;-)
Et m... zut ! J'ai essayé de l'éviter sur la première forme (sans perl), sans succès (read -u prend un fd, ce qui alourdit les choses), et du coup j'ai copié-collé pour la version perl. Désolé !
perl -e '....' fichier
En effet ; le pire c'est que j'ai ai pensé mais seulement pour la version shell :)
-- DW
Paul Gaborit
À (at) Fri, 22 Jun 2012 11:07:26 +0000 (UTC), Marc Boyer écrivait (wrote):
Le 22-06-2012, Paul Gaborit a écrit :
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par: 1. Each record is located on a separate line, delimited by a line break (CRLF). For example:
Lisez la suite :
6. Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
"aaa","b CRLF bb","ccc" CRLF zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Ça dépend de la source...
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Personnellement, je préfère nettement un module externe, bien documenté, mis à jour régulièrement et debuggué par des milliers d'utilisateurs à travers le monde plutôt qu'un truc fait en interne, souvent pas documenté et reposant sur plein de présupposés connus lors de la conception mais oubliés lors de l'évolution suivante...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Fri, 22 Jun 2012 11:07:26 +0000 (UTC),
Marc Boyer <Marc.Boyer@cert.onera.fr.invalid> écrivait (wrote):
Le 22-06-2012, Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit :
Attention : les enregistrements d'un fichier csv ne sont pas
nécessairement constitués d'une seule ligne. Pour traiter correctement
des fichiers CSV, je vous conseille fortement d'utiliser des modules
conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python
ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par:
1. Each record is located on a separate line, delimited by a line
break (CRLF). For example:
Lisez la suite :
6. Fields containing line breaks (CRLF), double quotes, and commas
should be enclosed in double-quotes. For example:
"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien
que des données rangées par ligne.
Ça dépend de la source...
Et puis bon, l'usage de modules spécifiques, le jour où il faudra
maintenir, il faudra que je relise la doc. La sémantique de
sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Personnellement, je préfère nettement un module externe, bien documenté,
mis à jour régulièrement et debuggué par des milliers d'utilisateurs à
travers le monde plutôt qu'un truc fait en interne, souvent pas
documenté et reposant sur plein de présupposés connus lors de la
conception mais oubliés lors de l'évolution suivante...
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
À (at) Fri, 22 Jun 2012 11:07:26 +0000 (UTC), Marc Boyer écrivait (wrote):
Le 22-06-2012, Paul Gaborit a écrit :
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne. Pour traiter correctement des fichiers CSV, je vous conseille fortement d'utiliser des modules conçus pour cela (en Perl, c'est Text::CSV mais l'équivalent en Python ou Ruby existe aussi).
Pourtant, la RFC 4180 commence par: 1. Each record is located on a separate line, delimited by a line break (CRLF). For example:
Lisez la suite :
6. Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
"aaa","b CRLF bb","ccc" CRLF zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Ça dépend de la source...
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Personnellement, je préfère nettement un module externe, bien documenté, mis à jour régulièrement et debuggué par des milliers d'utilisateurs à travers le monde plutôt qu'un truc fait en interne, souvent pas documenté et reposant sur plein de présupposés connus lors de la conception mais oubliés lors de l'évolution suivante...
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Marc Boyer
Le 22-06-2012, Paul Gaborit a écrit :
Lisez la suite :
6. Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
"aaa","b CRLF bb","ccc" CRLF zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Ça dépend de la source...
Je connais bien la source ;-)
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Non, plutôt un syndrome KISS. Tient, il y a 2mn, je viens de croiser un collègue qui m'a expliqué de pas pouvoir utiliser un script python car j'y utilise une feature 2.7. En regardant python csv, je vois d'ailleurs que la sémantique a changé entre 2.4 et 2.5 (d'ailleurs sur la question des sauts de ligne). Alors que sort, head et cat, ils commencent à être assez stables.
Personnellement, je préfère nettement un module externe, bien documenté, mis à jour régulièrement et debuggué par des milliers d'utilisateurs à travers le monde plutôt qu'un truc fait en interne, souvent pas documenté et reposant sur plein de présupposés connus lors de la conception mais oubliés lors de l'évolution suivante...
Chaque règle est un subtil compromis entre des contraintes externes, dont les poids relatifs peuvent varier.
En l'occurence, vu que le format d'entrée n'est pas un vrai .csv (il plante lamentablement si on met des "), et que le dit format évolue régulièrement en fonction des releases, je vais pas essayer de prendre quelques heures à comprendre comment python::csv fonctionne, comment on trie, alors qu'une solution standart stable d'une ligne donne toute satisfaction.
Je fais pas un outil pour un utilisateur externe, mais juste parce que j'ai la flemme d'ouvrir 25x OpenOffice, de faire 25 copier/coller pour faire une moyenne sur 25 jeux de tests.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 22-06-2012, Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit :
Lisez la suite :
6. Fields containing line breaks (CRLF), double quotes, and commas
should be enclosed in double-quotes. For example:
"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien
que des données rangées par ligne.
Ça dépend de la source...
Je connais bien la source ;-)
Et puis bon, l'usage de modules spécifiques, le jour où il faudra
maintenir, il faudra que je relise la doc. La sémantique de
sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Non, plutôt un syndrome KISS.
Tient, il y a 2mn, je viens de croiser un collègue qui m'a expliqué
de pas pouvoir utiliser un script python car j'y utilise une feature 2.7.
En regardant python csv, je vois d'ailleurs que la sémantique a changé
entre 2.4 et 2.5 (d'ailleurs sur la question des sauts de ligne).
Alors que sort, head et cat, ils commencent à être assez stables.
Personnellement, je préfère nettement un module externe, bien documenté,
mis à jour régulièrement et debuggué par des milliers d'utilisateurs à
travers le monde plutôt qu'un truc fait en interne, souvent pas
documenté et reposant sur plein de présupposés connus lors de la
conception mais oubliés lors de l'évolution suivante...
Chaque règle est un subtil compromis entre des contraintes
externes, dont les poids relatifs peuvent varier.
En l'occurence, vu que le format d'entrée n'est pas un vrai .csv
(il plante lamentablement si on met des "), et que le dit format
évolue régulièrement en fonction des releases, je vais pas
essayer de prendre quelques heures à comprendre comment
python::csv fonctionne, comment on trie, alors qu'une solution
standart stable d'une ligne donne toute satisfaction.
Je fais pas un outil pour un utilisateur externe,
mais juste parce que j'ai la flemme d'ouvrir 25x OpenOffice,
de faire 25 copier/coller pour faire une moyenne sur 25
jeux de tests.
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
6. Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
"aaa","b CRLF bb","ccc" CRLF zzz,yyy,xxx
Ceci dit, dans les fichiers que je manipule là, il n'y a bien que des données rangées par ligne.
Ça dépend de la source...
Je connais bien la source ;-)
Et puis bon, l'usage de modules spécifiques, le jour où il faudra maintenir, il faudra que je relise la doc. La sémantique de sort, head & cat, elle est stable.
Syndrome NIH ? ;-)
Non, plutôt un syndrome KISS. Tient, il y a 2mn, je viens de croiser un collègue qui m'a expliqué de pas pouvoir utiliser un script python car j'y utilise une feature 2.7. En regardant python csv, je vois d'ailleurs que la sémantique a changé entre 2.4 et 2.5 (d'ailleurs sur la question des sauts de ligne). Alors que sort, head et cat, ils commencent à être assez stables.
Personnellement, je préfère nettement un module externe, bien documenté, mis à jour régulièrement et debuggué par des milliers d'utilisateurs à travers le monde plutôt qu'un truc fait en interne, souvent pas documenté et reposant sur plein de présupposés connus lors de la conception mais oubliés lors de l'évolution suivante...
Chaque règle est un subtil compromis entre des contraintes externes, dont les poids relatifs peuvent varier.
En l'occurence, vu que le format d'entrée n'est pas un vrai .csv (il plante lamentablement si on met des "), et que le dit format évolue régulièrement en fonction des releases, je vais pas essayer de prendre quelques heures à comprendre comment python::csv fonctionne, comment on trie, alors qu'une solution standart stable d'une ligne donne toute satisfaction.
Je fais pas un outil pour un utilisateur externe, mais juste parce que j'ai la flemme d'ouvrir 25x OpenOffice, de faire 25 copier/coller pour faire une moyenne sur 25 jeux de tests.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Marc Boyer
Le 22-06-2012, Jean-Marc Bourguet a écrit :
Paul Gaborit writes:
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne.
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de version de awk parsant ce format qui semble lui convenir comme un gant?
Je n'ai pas d'info particulière. Disons que dans la version simple, sans , ou CRLF entre ", c'est trop simple awk -F ""*,"*" (trouvé sur le web, pas testé) Mais si on a des champs du type "Data1", "Data 2, avec des bizzareries dedans, des quotes "" en plus", Data3 Ca devient plus coton... Formellement parlant, je soupsonne qu'on soit pas dans la même classe de langages (mais c'est loin pour moi...)
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 22-06-2012, Jean-Marc Bourguet <jm@bourguet.org> a écrit :
Paul Gaborit <Paul.Gaborit@invalid.invalid> writes:
Attention : les enregistrements d'un fichier csv ne sont pas
nécessairement constitués d'une seule ligne.
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de
version de awk parsant ce format qui semble lui convenir comme un gant?
Je n'ai pas d'info particulière.
Disons que dans la version simple, sans , ou CRLF entre ", c'est trop simple
awk -F ""*,"*" (trouvé sur le web, pas testé)
Mais si on a des champs du type
"Data1", "Data 2, avec des
bizzareries dedans, des quotes "" en plus", Data3
Ca devient plus coton... Formellement parlant, je soupsonne qu'on
soit pas dans la même classe de langages (mais c'est loin pour moi...)
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
Attention : les enregistrements d'un fichier csv ne sont pas nécessairement constitués d'une seule ligne.
En partant de CSV, quelqu'un a-t'il une idee de pourquoi il n'y a pas de version de awk parsant ce format qui semble lui convenir comme un gant?
Je n'ai pas d'info particulière. Disons que dans la version simple, sans , ou CRLF entre ", c'est trop simple awk -F ""*,"*" (trouvé sur le web, pas testé) Mais si on a des champs du type "Data1", "Data 2, avec des bizzareries dedans, des quotes "" en plus", Data3 Ca devient plus coton... Formellement parlant, je soupsonne qu'on soit pas dans la même classe de langages (mais c'est loin pour moi...)
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet