0 votes

Ouvrir un fichier texte dans Numbers lorsqu'il est délimité par des espaces, mais que certains champs sont des chaînes de caractères entre guillemets avec des espaces.

J'ai un fichier journal que j'aimerais ouvrir dans Numbers pour le passer au crible plus facilement. Le problème est que le format n'est pas CSV. Chaque ligne comporte environ une douzaine de champs, et les champs eux-mêmes sont séparés par des espaces. Cependant, certains de ces champs sont des chaînes de caractères, qui contiennent des espaces, et je ne peux donc pas me contenter de rechercher les espaces et de les remplacer par des virgules. Un champ, la date, est en fait formaté comme ceci : [06/Feb/2018:03:27:37 +0000] . Il semble que ce soit le seul endroit où des []s sont utilisés, je pourrais donc les trouver/remplacer par des "s", mais j'ai toujours des difficultés à importer le document. Il place chaque ligne dans une seule colonne.

Donc, pour résumer, mon objectif est de prendre un fichier d'entrée et de décomposer chaque ligne de sorte que l'espace soit le délimiteur, mais qu'il ignore les espaces entre guillemets.

2voto

Gio Valerio Points 761

Si vous avez un éditeur qui peut utiliser les regex (par exemple textwrangler ou bbedit)
ou vous êtes prêt à utiliser sed (dans ce cas, n'oubliez pas le drapeau -E)
ou vous pouvez écrire un petit filtre dans n'importe quel langage que vous connaissez (par exemple perl ou Python),
vous pouvez d'abord changer les crochets en "s" et ensuite utiliser la regex :
s/\ (?=(? :[^"] "[^"] ") [^"] $)/ \t /g
pour convertir tout espace qui n'est pas entre guillemets en tabulations, afin que Numbers l'importe correctement (ce n'est pas que je sois si bon avec les regex, c'est expliqué ici : regex101.com/r/sU3fA2/29)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X