[Users-fr] Fwd: import tableau excel
patrice metaireau
alfonse982000 at gmail.com
Mar 23 Aou 09:41:45 CEST 2016
oups !!!
en me relisant je m'aperçoit que vous aviez déjà répondu .....
sincèrement désolé pour le dérangement
P METAIREAU
Le 23 août 2016 à 09:38, patrice metaireau <alfonse982000 at gmail.com> a
écrit :
> bonjour,
>
> merci beaucoup pour cette réponse.
>
> c'est beaucoup plus simple et grâce aux options de la commande je peux
> supprimer les 2 1ères lignes et les caractères accentués ou accents.
>
> substitute=["é" "e";"è","e";"à","a" ];header=2
> m = csvRead(chemin,";",".","string",substitute,[],[],header)
>
> par contre sur les colonnes 9 et 11 j'ai des chiffres et ils sont
> considérés comme des caractères (15+15=1515). peut on dans une même matrice
> affecter des colonnes caractères et des colonnes chiffres ?
> sinon : a=strtod(m(1,11),",");b=strtod(m(2,11),",");c=a+b ???
>
> question 2 :les nombres ont une virgule. dois je mettre un point ? dans
> "substitute" ou dans la fonction csvread ?
>
> cordialement
>
> P METAIREAU
>
>
> Le 20 août 2016 à 01:35, Samuel Gougeon <sgougeon at free.fr> a écrit :
>
>> Bonjour,
>>
>> Le 19/08/2016 22:13, patrice metaireau a écrit :
>>
>> bonjour,
>>
>> je souhaite importer le contenu d'un tableau excel2003 dans une matrice.
>> le tableau excel (12 colonnes, 84 lignes) contient des chiffres (avec
>> virgule), des chaines de caractères ,des dates, des cellules vides.
>> comment faire simple? je ne m'en sort pas avec xls_open, xls_read et
>> readxls !!!
>>
>> en alternative je fais ainsi avec un fichier .csv
>>
>> .
>> Convertir votre fichier au format CSV est un bon début. Après cela, vous
>> pouvez utiliser csvRead(), qui est très paramétrable :
>> https://help.scilab.org/docs/6.0.0/fr_FR/csvRead.html
>>
>> Normalement, les cellules vides ne devraient pas poser de problème.
>>
>> Le résultat importé est une matrice de texte, pour toutes les colonnes.
>> Il faut donc ensuite convertir les colonnes qui en réalité ne sont pas
>> du texte.. en ce qu'elles doivent être.
>> * pour les colonnes de nombres, utiliser:
>> ma_colonne_de_nombres = evstr(ma_colonne_de_nombres_en_texte)
>> * pour les dates: cela dépend sous quelle forme elles apparaissent en
>> texte.
>>
>>
>> chemin=uigetfile(["*.*"],'D:/user/travail/projets')
>> fic=mopen(chemin,'rt')
>> l=mgetl(fic,2)
>> m=mgetl(fic)
>> sz=size(m,1)
>>
>> for n = 1:sz
>> p=m(n);p1=strsplit(p,";");p2=p1'
>> q(n,1)=p2(1,1);q(n,2)=p2(1,2);q(n,3)=p2(1,3);q(n,4)=p2(1,4);
>> q(n,5)=p2(1,5);q(n,6)=p2(1,6)
>> q(n,7)=p2(1,7);q(n,8)=p2(1,8);q(n,9)=p2(1,9);q(n,10)=p2(1,10
>> );q(n,11)=p2(1,11);q(n,12)=p2(1,12);
>> end
>>
>> (mais cela me semble moche) :
>>
>> .
>> csvRead() devrait mieux vous convenir ;)
>>
>> question subsidiaire :
>> après modification de ma matrice (qui contiendra des chiffres, des
>> chaines de caractères , des cellules vides.) peut on exporter au format
>> XLS ?
>>
>> En csv, avec csvWrite()...
>>
>> Bon courage
>> Samuel Gougeon
>>
>>
>> _______________________________________________
>> users-fr mailing list
>> users-fr at lists.scilab.org
>> http://lists.scilab.org/mailman/listinfo/users-fr
>>
>>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20160823/9760a44c/attachment.htm>
Plus d'informations sur la liste de diffusion users-fr