fichiers csv - string to double

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

fichiers csv - string to double

MaudC
Bonjour,

Je souhaiterais utiliser des données numériques que j'ai importées dans OrbisGIS. J'ai convertie un fichier ods en csv. Cela fonctionne, j'ai accès au fichier via OrbisGIS. Je ne peux seulement pas utiliser ces données puisqu'elles sont de type string. Comment puis je les convertir en double ?

J'ai pensé à diverses méthodes mais elles ne semblent pas exister dans la V 4.0 :

- ALTER TABLE my_table MODIFY my_field new_type;

- Utilisation de la fonction Stringtodouble

Je ne préfère pas le faire manuellement, j'ai un peu plus de 2000 valeurs !

Cordialement,

Maud

Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

Gwendall Petit
Administrator
Bonjour Maud,

Tu devrais aller faire un tour par ICI.
On y parle des modes de CAST et notamment du terme :: qui te permet de convertir tes types de champs.

Cordialement,

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

MaudC
Cela fonctionne parfaitement, merci ! Cela créé en fait une nouvelle colonne, j'ai donc effacé la précédente...

J'ai donc utilisé :

SELECT *, my_field_int :: double as my_field_string FROM my_table;

Bonne journée,

Maud
Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

MaudC
Rebonjour,

Je n'avais pas remarqué mais lors de la conversion j'obtiens quelques erreurs. Par exemple j'obtiens 13 pour une valeur qui était auparavant 1,3.
Je suppose qu'il s'agit d'un problème lié aux nombres décimaux, peut être faudrait-il que dans le fichier initial je change 1,3 par 1.3 ? Cela dit j'ai énormément de valeurs, et dans openoffice 1.3 est transformé en date !

Cordialement,

Maud
Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

Gwendall Petit
Administrator
Tu as effectivement un soucis avec le séparateur de décimale.
Si c'est openoffice qui te pose problème, pourquoi ne pas ouvrir ton .csv avec un éditeur de texte (genre wordpad, gedit, ...) qui ne prend pas en compte les types de champs et faire "Rechercher/Remplacer" ?

Gwendall
Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

Nicolas F.
Administrator
In reply to this post by MaudC
Bonjour,

Il faut configurer le système d'exploitation (Locale) afin d'utiliser les . comme séparateur. OpenOffice exportera dans ce cas un fichier CSV dans le bon format.
Reply | Threaded
Open this post in threaded view
|

Re: fichiers csv - string to double

MaudC
Dans le fichier .csv via openoffice  j'ai été dans "formater les cellules" et dans l'onglet nombre j'ai modifié la langue en Anglais. J'obtiens donc le point comme séparateur de décimales. Merci pour vos réponses !

Bonne journée,

Maud