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
A voir également:

3 réponses

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
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
Baelros
 
up
0