Importer un fichier txt sous IDL

Baelros -  
 vincent_S -
Bonjour,

Je suis completement à la rue en programmation ^^, et je souhaiterai savoir s'il est possible d'importer des fichiers txt, ou ascii sous IDL afin de les traiter?
Si oui, quelle commande faut il utliser?
Et est ce que sur Matlab, il est possible d'importer des fichiers txt ou ascii?

Merci beaucoup.

Bonne semaine
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. vincent_S
     
    Salut,
    Pour ouvrir un fichier .txt sous IDL c'est assez simple.

    Il suffit de faire :

    Openr,1, 'xxxxxx.txt' ( 1 correpond à l'unité logique que l'on associe au fichier / xxxxx = Pathway + nom du fichier / openr signifie Open en lecture)

    une fois que le fichier est ouvert, on peut alors lire les données.

    si il s'agit de lire en ASCII, il exite une commande read_ASCII sous IDL

    autrement, la commande Readf pourra etre utilisé.

    par exemple, je veux lire un fichier .txt

    le fichier txt : list_path_data.txt
    _______________________________________
    add_files = D:\pro\SOFT05\add_files\
    listpath = D:\pro\SOFT05\Listes\
    pathsauv = K:\OMEGA\cub\ORB
    chemin = F:\OMEGA\data\
    chemin2 = F:\OMEGA\data\
    parampath = K:\OMEGA\param\ORB
    unmixpath = K:\OMEGA\unmix\
    list_pb_orb = D:\pro\SOFT05\Listes\PB_orb.txt
    pathmosa = K:\OMEGA\Mosaiques\
    dirprev = K:\OMEGA\thumbs\
    libpath = D:\pro\SOFT05\library\
    __________________________________________

    routine idl : lecture list_path.pro

    pro list_path

    f_in='D:\listes\list_path_data.txt'

    close,1 ; On vérifie que le fichier n'est pas ouvert
    openr,1,f_in

    line= ' '

    while not eof(1) do begin ; on va lire tout le fichier -> eof(1) =: end of file 1

    readf,1, line

    len=strlen(line)
    i=strpos(line,' = ')
    if i gt -1 then begin
    keyword= strtrim(strmid(line,0,i),2)
    value= strmid(line,i+3,len-i-2)

    if keyword eq 'add_files' then begin
    add_files = value
    endif
    if keyword eq 'listpath' then begin
    listpath = value
    endif
    if keyword eq 'chemin' then begin
    chemin = value
    endif
    if keyword eq 'chemin2' then begin
    chemin2 = value
    endif
    if keyword eq 'parampath' then begin
    parampath = value
    endif
    if keyword eq 'unmixpath' then begin
    unmixpath = value
    endif
    if keyword eq 'list_pb_orb' then begin
    list_pb_orb = value
    endif
    if keyword eq 'pathmosa' then begin
    pathmosa = value
    endif

    endif

    endwhile
    ________________________________________________________________

    il ne s'agit que d'un simple exemple pour lire un fichier texte.
    De la même façon on pourra lire un fichier txt créé en convertissant un fichier xls.
    2
  2. pseudotruc
     
    Moi aussi je suis nulle mais j'ai fini par trouver comment on fait pour lire les fichiers... Peut être que tu as déjà trouvé depuis ton message mais je répond quand même pour tout ceux qui galèrent avec idl pour ouvrir un simple fichier...

    temp = ascii_template('fichier.txt')
    data = read_ascii('fichier.txt', template = temp)

    t = data.field1
    x = data.field2
    ...

    le type de fichier que je lis avec ça est sous forme de colonnes de données.

    Sous matlab, je ne peux pas t'aider.
    1