Comment supprimer un texte brut protégeant un guillemet simple de toutes les cellules sélectionnées dans LibreOffice Calc?

36

J'ai importé un fichier CSV dont la première colonne contient des valeurs date-heure au format ISO 8601 comme

2012-01-01T00:00:00.000Z

pour le premier moment de l'année 2012.

Puis, désireux de faire en sorte que LibreOffice reconnaisse le format (comme j'avais hâte de tracer un diagramme), j'ai sélectionné la colonne, choisi Format Cells...et entré le format d'heure personnalisé comme

YYYY-MM-DDTHH:MM:SS.000Z

Et cela semble fonctionner si ... je modifie une cellule pour supprimer un guillemet simple caché depuis son début (qui sert à protéger le contenu d'une cellule contre toute interprétation) car toutes les cellules nouvellement formatées stockent désormais des valeurs comme

'2012-01-01T00:00:00.000Z

(notez le guillemet simple - il n'est visible que lorsque vous modifiez une cellule particulière).

Et je dois le faire pour toutes les cellules de la colonne. Comment puis-je automatiser cela?

MISE À JOUR: J'ai déjà trouvé une solution pour le cas particulier du mien: cela aide à définir un format de colonne sur "heure" dans la boîte de dialogue d'importation CSV. Mais je suis toujours curieux de savoir comment cela pourrait être fait au cas où je n'aurais pas le fichier de données .csv d'origine à importer, mais uniquement le fichier .ods avec les données déjà importées sans le format spécifié au moment de l'importation.

Ivan
la source

Réponses:

52

Vous pouvez supprimer le guillemet simple de tête (qui ne fait en fait pas partie de la chaîne dans la cellule) à l'aide d'une recherche basée sur l'expression régulière et remplacer:

  • Recherche tous les caractères entre le début et la fin de la chaîne ^.*$
  • remplacer par match &
tohuwawohu
la source
4
Dieu merci pour Internet et pour vous, monsieur. C'était exactement ça.
queso
5
Comment cela fonctionne-t-il s'il n'a même pas de symbole de citation réel (ni son code)?
Ivan
5
@ivan - C'est un hack désordonné, mais il ne remplace pas du tout la citation. Fondamentalement, du point de vue du moteur d'expression rationnelle, la citation n'est pas là du tout (c'est un drapeau spécial sur la cellule). En tant que tel, ce qu'il fait correspond au contenu entier de la cellule (qui n'a pas la citation dans la chaîne, rappelez-vous). Ensuite, il supprime le contenu de la cellule ( ce qui comprend la suppression de l'indicateur "texte brut" ), puis réinsère le contenu. Le moteur de détection automatique des données voit alors un nombre et interprète les données réinsérées comme telles.
Fake Name
Il convient de noter que cela supprimera probablement toute mise en forme reposant sur des caractères qui définissent des indicateurs de cellule spéciaux, ainsi que les indicateurs de nombre "en texte brut".
Fake Name
2
Merci. C'est tellement bizarre, ça fait croire. Pourquoi diable devrait-il y avoir ce caractère de guillemet simple après l'importation?
r0berts
30

Dans le menu "Données", choisissez "Texte vers colonnes".

pfrenssen
la source
5
Une alternative plus propre à la méthode REGEXP.
jgomo3
Surtout, la fonction "Texte en colonnes" permet de modifier le "type" des cellules. Parfois, il est bloqué sur du "texte" et aucun re-formatage ne semble le corriger. Voici comment: au bas de la boîte de dialogue sous "Champs", cliquez sur l'en-tête de colonne qui dit "Standard", puis sélectionnez le type souhaité dans la liste déroulante "Type de colonne".
sxc731
Le Regex ne fonctionnait pas dans LibraOffice, mais changez le type de colonne en "Texte" de "Standard" en utilisant Texte en Colonnes travaillé.
Sortie
Grattez que, dès que j'essaie de styliser la colonne comme un nombre à 8 décimales, elle ajoute les guillemets simples à l'avant. J'abandonne, revenant à Excel.
Sortie
0

Une tentative de remplacement de regex ^.\*$par &LibreOffice 5. s'est écrasé. Le remplacement de .\*par &a bien fonctionné.

VMT
la source
-1

À l'aide d'un petit formatage informatique et d'une astuce magique de recherche (technique de programmation si vous voulez) appelée expression régulière ou expression régulière pour faire court. Pour des exemples, veuillez consulter - http://www.regular-expressions.info/examples.html

Steve
la source
3
vous seriez un mec cool si vous pouviez écrire un regex d'exemple.
Mikhail
-2

En fait, vous avez besoin d'un pour citer le signe dollar en premier.

Fondamentalement, libreOffice ajoute un seul devis dans le domaine, pour une raison inconnue. Donc, vous devez remplacer quoi que ce soit jusqu'au signe dollar par rien. Donc, utilisez l'expression régulière de ^. * \ $ Et remplacez-la par rien. Travaillé pour moi

Andrew B.
la source
De quel signe dollar parlez-vous?
Scott