Comment mettre une virgule dans un fichier de data

Accueil Forums Programmation WIMS Programmation d’exercices OEF Comment mettre une virgule dans un fichier de data

Ce sujet a 10 réponses, 3 participants et a été mis à jour par  bernadette, il y a 3 semaines.

  • Auteur
    Messages
  • #4079
    Pascal Denis
    Pascal Denis
    Participant

    Bonjour,

    j’utilise des variables contenant des virgules, typiquement le nom de composés chimiques scomme le : 1,1-Dibromoethane, 1,2-Dibromoethane. Le problème que je rencontre consiste à mettre ces variables dans un fichier de data pour manipulation par reccord sous modtool.

    Comment faire prendre en compte la virgule et ne pas passer au champ suivant…

    :Numero, Nom, Formule, CAS_Nr
    :28,Bromomethane,CH3Br,74-83-9
    :29,1,2-Butadiene,C4H6,590-19-2
    :30,1,3-Butadiene,C4H6,106-99-0
    :31,N,N-Dimethyl formamide,C3H7NO,68-12-2

  • #4081

    jm.evers
    Participant

    Hi, there are several ways…
    probably the easiest is to use ‘words’

    :Numero Nom Formule CAS_Nr
    :28 Bromomethane CH3Br 74-83-9
    :29 1,2-Butadiene C4H6 590-19-2
    :30 1,3-Butadiene C4H6,106-99-0
    :31 N,N-Dimethylformamide C3H7NO 68-12-2

    then

    CAS=!word 4 of $my_record
    name=!word 2 of $my_record

    Joke

    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par  jm.evers.
    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par  jm.evers.
  • #4084
    Pascal Denis
    Pascal Denis
    Participant

    Good idea,

    but some names include more than 1 word carbon dioxyde by example

    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par Pascal Denis Pascal Denis.
  • #4086

    jm.evers
    Participant

    in that -rare case- you could use an underscore, like:carbon_dioxide
    and then

    name=!word 2 of $my_record
    name=!replace internal _ by $ $ in $name
    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par  jm.evers.
  • #4088
    Pascal Denis
    Pascal Denis
    Participant

    I did it using ‘-‘ instead of ‘,’, but it doesn’t match the right way to write chemical name …

  • #4089

    jm.evers
    Participant

    Hmmm,
    what I meant was change your record file and replace -manually or by any other means- all chemical names that have ‘several words’, like ‘carbon dioxide –> carbon_dioxide’ or ‘some trivial name –> some_trivial_name’

  • #4090
    Pascal Denis
    Pascal Denis
    Participant

    Unpossible more than 900 compounds … but I will try something else :

    using ‘_’ then in my exercice change the ‘_’ with ‘,’. I’m sure that there is no underscore in the compound’s name.

  • #4091

    jm.evers
    Participant

    you could use « awk » or « sed » to simply modify the data file for ‘special’ wims_usage?

  • #4092

    bernadette
    Admin bbPress

    Quel problème exactement ? est-ce avec un modèle préparé ? avec un exo de quicktool ou avec un exo OEF programmé par toi ?
    Il n’y a aucune raison de ne pas avoir des virgules dans un tel fichier.

    J’ai lu trop vite.
    Les points virgules sont possibles aussi. Ensuite il faudra faire
    \data[,1] (première « colonne »), etc
    si data est le résultat de record.
    (il n’y a qu’une seule ligne par record dans ton exemple, c’est bien cela ?)

    Bernadette

    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par  bernadette.
    • Cette réponse a été modifiée le il y a 3 semaines et 2 jours par  bernadette.
  • #4095
    Pascal Denis
    Pascal Denis
    Participant

    Je dispose d’une mini-base de données chimique comportant 850+ produits avec 60 informations par produit. j’ai crée un fichier data que j’utilise dans une série d’exercices de thermodynamique et génie des procédés Calculer une Pression de vapeur saturante en fonction de la température, calculer des équilibres lis-vap (modèle idéal), calcul d’enthalpie de vaporisation, utilisation d’équations d’état autre que les gaz parfaits, nommer un composé à partir d’une formule semi-devloppée,,calcul de chaleur de réaction, etc …

    Je suis dans l’obligation de respecter la nomenclature chimique, qui est incompatible avec la lecture de reccord. Mes premiers essais ont fonctionné jusqu’à ce que je tombe sur un os … D’ou ma question …

    Un beau spécimen est le 1,2,3,4-Tetrahydronaphthalene

    Je vais tester comme discuté plus haut de remplacer dans le fichier les virgules par des underscores, et dans mes exercices de convertir les underscores en virgules.

  • #4099

    bernadette
    Admin bbPress

    Et les points virgules ? Cela serait beaucoup plus simple (je n’en vois pas dans vos exemples).

    Bernadette

Vous devez être connecté pour répondre à ce sujet.