From alfonse982000 at gmail.com Fri Aug 19 22:13:30 2016 From: alfonse982000 at gmail.com (patrice metaireau) Date: Fri, 19 Aug 2016 22:13:30 +0200 Subject: [Users-fr] Fwd: import tableau excel In-Reply-To: References: Message-ID: 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 (mais cela me semble moche) : 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 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 ? cordialement P METAIREAU -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: From sgougeon at free.fr Sat Aug 20 01:35:42 2016 From: sgougeon at free.fr (Samuel Gougeon) Date: Sat, 20 Aug 2016 01:35:42 +0200 Subject: [Users-fr] Fwd: import tableau excel In-Reply-To: References: Message-ID: <57B797CE.2010806@free.fr> 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 -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: From alfonse982000 at gmail.com Tue Aug 23 09:38:25 2016 From: alfonse982000 at gmail.com (patrice metaireau) Date: Tue, 23 Aug 2016 09:38:25 +0200 Subject: [Users-fr] Fwd: import tableau excel In-Reply-To: <57B797CE.2010806@free.fr> References: <57B797CE.2010806@free.fr> Message-ID: 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 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: From alfonse982000 at gmail.com Tue Aug 23 09:41:45 2016 From: alfonse982000 at gmail.com (patrice metaireau) Date: Tue, 23 Aug 2016 09:41:45 +0200 Subject: [Users-fr] Fwd: import tableau excel In-Reply-To: References: <57B797CE.2010806@free.fr> Message-ID: 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 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 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: From sgougeon at free.fr Tue Aug 23 09:55:52 2016 From: sgougeon at free.fr (Samuel Gougeon) Date: Tue, 23 Aug 2016 09:55:52 +0200 Subject: [Users-fr] Fwd: import tableau excel In-Reply-To: References: <57B797CE.2010806@free.fr> Message-ID: <57BC0188.4080202@free.fr> Bonjour, Le 23/08/2016 09:38, patrice metaireau 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). . Voulez-vous dire que dans chaque colonne est écrit littéralement "15+15" ? Le cas échéant, evstr("15+15") fonctionne, si c'est le résultat qui vous intéresse : --> evstr("15+15") ans = 30. > question 2 :les nombres ont une virgule. dois je mettre un point ? > dans "substitute" ou dans la fonction csvread ? csvRead() a une option pour cela. Vous pouvez aussi utiliser strsubst() sur les contenus lus, si nécessaire. Samuel Gougeon From sgougeon at free.fr Tue Aug 23 20:49:43 2016 From: sgougeon at free.fr (Samuel Gougeon) Date: Tue, 23 Aug 2016 20:49:43 +0200 Subject: [Users-fr] =?utf-8?q?ATOMS_=3A_rems_=25_nouveau_syst=C3=A8me_en_l?= =?utf-8?q?igne_depuis_fin_juin?= Message-ID: <57BC9AC7.40609@free.fr> @L'équipe Scilab Bonjour, Suite à l'annonce fin juin de modifications importantes dans le gestionnaire de modules ATOMS en ligne ,... et au rétablissement de l'accès aux modules via l'interface atomsGui depuis Scilab (après une disparition assez inquiétante de cet accès pendant de nombreux jours en juillet), je prends un peu de temps pour vous faire part de diverses remarques concernant ces changements. Je n'ai que très peu testé le nouveau système en tant qu'admin de modules, car il y a un point bloquant. En espérant que ces remarques puissent bénéficier à tous, et/ou qu'elles invitent d'autres utilisateurs à s'exprimer à ce propos, Cordialement Samuel ----------------------- * *ATOMS* : o *Consultation de la liste* : + *Modules pour Scilab < 5.4* *inaccessibles* : l'impossibilité de désormais consulter ces modules est un problème _majeur_. Vouloir mettre l'accent sur les modules récents est très bien. Cela n'implique nullement de rendre le "grenier" inaccessible. Ce grenier doit en tout état de cause rester librement et complètement accessible. Au dernier ScilabTech 2015, vous avez estimé intéressant/pertinent d'inviter Roberto Di Cosmo de l'IRILL, dont le principal propos fut de dénoncer la volatilité des archives logicielles et -- notamment -- la non reproductibilité des simulations scientifiques que cette volatilité entraine : http://www.scilabtec.com/index.php/program?id=120 Rendre les modules utilisateurs < 5.4 inaccessibles s'inscrit exactement dans ce que Di Cosmo dénonçait. Lors du Scilabtech, je n'ai entendu aucune objection -- en particulier issue du personnel de S/E -- aux propos de l'orateur. Donc, pourquoi ce changement -- du reste très indélicat, car sans aucun préavis ni des auteurs ni des utilisateurs ? + *Sélecteurs */Show only toolboxes available onfor/ Ces sélecteurs standard étaient très attendus. Merci donc pour cet ajout. On peut cependant regretter deux choses : # Il n'est pas possible de faire des sélections multiples avec CTRL+clic, * par exemple pour cumuler toutes les versions Windows 32 et 64 bits, ou toutes les versions Linux, etc * ou encore pour cumuler plusieurs versions de Scilab : 5.4 + 5.5, etc # Ce moyen est plus souple que d'ajouter des entrées "All Windows" ou "All Linux", etc. Une indication invitant à utiliser CTRL+clic peut être donnée en infobulle sur chaque liste, car ce moyen est assez peu connu mais très simple et utile (comme dans les listes de sélection de bugzilla). Par ailleurs, les sélections par défaut -- all -- mériteraient sans doute, à coût nul -- d'être un peu plus explicites : -- all plateforms -- et -- all versions -- ... # Enfin, ces filtres disparaissent -- et le filtrage aussi : les paramètres GET en URL sont supprimés -- dés que l'on sélectionne une catégorie dans la liste de gauche. C'est fort dommage. o *Administration d'un module* : Ayant été confronté à un problème bloquant sur FileExchange (voir plus bas), je suis resté très prudent sur le seul module ATOMS que j'administre actuellement (uman), sans jamais presser de bouton "update" ou create. je me permets cependant quelques remarques concernant la nouvelle présentation des modules coté admin : + *Consultation de la page en version admin :* # Cadre */Details/* : * */"Entity"/* : ce libellé n'a pas changé, mais me fait toujours sourire ;) Qu'est-ce qui n'est pas une "Entité" ? pourquoi pas "Institution", ou "Organization" ? * */Categories/* : pas de changement non plus, mais à mon sens une présentation en liste séparées par des virgules serait plus compacte et tout aussi lisible. * */"Binaries available on"/* : le fait de pouvoir distribuer la même version d'un module pour plusieurs versions de Scilab est une grande avancée ! Bravo :)) ! Je n'ai pas encore testé, eu égard au problème bloquant rencontré par ailleurs. # Nouveau cadre *"Build information */*(only visible to maintainers)"* :/ * /"Build by Scilab Enterprises ?"/ : dans le cas de "uman", il est indiqué "Yes", alors que ce n'est pas le cas : j'ai uploadé le bin.zip sans que le compilateur ATOMS n'intervienne. * */"Has only OS-independent code ?"/* : cet attribut (et son libellé) est à mon sens mal posé : o Un module qui a seulement des macros (ce qui est la véritable signification ici) PEUT ne pas être destiné à tous les OS. 2 exemples : + Si le module utilise ou dépend de TCL, il est exclu pour les Mac. C'est le cas de la dizaine de modules que j'ai publiés sur FileExchange en "Instrumentation control", car tous utilisent le module "Serial" basé sur TCL. + Certains modules peuvent contenir uniquement des macros mais qui utilisent ou sont des fonctions spécifiques visant certains OS. Scilab embarque des fonctions dédiées Windows. parallel_run() était inutile sur Windows. Donc une macro l'utilisant n'apporterait rien à un utilisateur Windows. o Ainsi, il semblerait judicieux de disposer d'un indicateur plus clair : "Pas de gateway" (ou mieux que "gateway"...) : cela inclut : uniquement des macros ou/et des tests ou/et des scripts.sce ou/et de la documentation. Sans /aucune hypothèse/ ni référence à la dépendance aux OS. + *Formulaire admin* : # /*Availability*/ : le fait de pouvoir désormais masquer une version est sans doute un +. Certaines versions sont publiées pour "essais" (car le système n'est pas trivial. Il est cependant mieux documenté maintenant, en infobulles). Celles-ci peuvent au final, n'avoir en effet aucun intérêt pour les utilisateurs. # */Dependencies/* : la simplification de leur /déclaration/ est aussi probablement un plus. Mais la modification de la gestion des dépendances au regard des versions est sujette à caution. Vouloir faire simple -- ou masquer la complexité --, c'est très louable. Mais pas au détriment du bon fonctionnement et de la pérennité. Le travail travail de refonte a peut être été initié à l'occasion de cette proposition . J'avais commencé à analyser celle-ci, mais cela m'avait rapidement semblé très brutal et impraticable. Par la suite, l'analyse du système ATOMS publiée par François m'avait semblée plus sage et pondérée, quoi que certains changement relatifs au versionage et aux dépendances restaient à mon sens un peu inquiétants. Votre annonce de fin juin pour ce qui est actuellement en ligne me parait personnellement finalement assez équilibrée concernant ces aspects versionnage et dépendances, en particulier le fait de laisser tomber les versions mineures a.b.x. Après, voyons à l'usage. En tous cas, bravo pour l'effort de simplification mesurée ! Mais rendez-nous le grenier ! # */Build process/* : mêmes remarques que plus haut : Does this toolbox have native code (C, C++ or Fortran)? No, the toolbox only contains Scilab codethat is portable on all platforms No, it contains only macros, scripts, tests, and/or documentation Quoiqu'il en soit, cette nouvelle question est en effet très utile ! # *Cadre **/"News"/* : Je pense que ce cadre pourrait avantageusement faire l'objet d'une page dédiée (et un lien d'accès spécifique dans le mini-menu "Admin this toolbox" à gauche). Cela lui donnerait plus de visibilité (et donc probablement d'usage). # *Cadre **/"History"/* : idem. Du reste, ce type de service à l'admin serait plus difficile à proposer dans une interface ATOMS cliente. Autant donc mieux les valoriser. # *L'accès au fichier source a complètement disparu* (uman 2.0.6) ! Est-ce normal ?? Je pense que la mention passive "Source code archive*: uman-2.0.6-1-src.zip /To upload new sources, create a new version of the toolbox. /présente dans le cadre principal devrait être être transférée ou dupliquée dans un des 2 cadres dédiés aux fichiers./ / * *FileExchange* : o Changement majeur bloquant : Admin : lorsqu'on actualise un "mini-module" existant, la licence en cours est écrasée et est remplacée par BSD. En outre, il n'y a aucun moyen de modifier cette licence, en l'occurrence pour revenir à la licence initiale. Ce changement est extrêmement gênant : il oblige à publier sous BSD -- du reste de manière complètement involontaire et non notifiée -- ou à aller voir ailleurs. / / o /Sup//ported Sci//lab version/ : Une sélection multiple est impossible. C'est fort dommage. o *Abandon des Screenshots* : la gestion de ceux-ci était très boguée. Cependant, on peut espérer que la possibilité d'illustrer les modules soit rétablie. Cela peut paraitre un détail, mais c'est un vrai plus. Le site bien connu de "Petites annonces en ligne" indique : "Une annonce illustrée est en moyenne consultée 7 à 10 fois plus que les autres". Maintenant, allez visiter les sites de logiciels scientifiques concurents, avec, puis sans les images... L'attractivité en dépend */beaucoup/*. o [Détail très mineur] Affichage de la Description : des espaces sont maintenant insérés en tête de 1ère ligne. Voir par exemple https://fileexchange.scilab.org/toolboxes/225000 " -->FG_ISG500" au lieu de "-->FG_ISG500" Ce n'était pas le cas avant la refonte. Dans le formulaire de (re)saisie, il n'y a aucun espacepréfixe. Même chose sur les modules ATOMS. -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: