import file by specifying its location - without GUI

2 views (last 30 days)
Hi, is there any function in "Matlab" that allows to specify file (.txt) location and import its data without using GUI?
Thanks in advance
  2 Comments
Walter Roberson
Walter Roberson on 21 May 2013
How much interactivity is expected? e.g., should the use be able to go up and down levels of directories and see the filenames in the directories, all done through text?
Tomas
Tomas on 21 May 2013
Edited: Tomas on 21 May 2013
I expect a function where I could just enter variables=neededFunction('C:\readthisfile.txt') (readthisfile.txt is not in "Matlab" path.)

Sign in to comment.

Answers (3)

Walter Roberson
Walter Roberson on 21 May 2013
If you are processing text files, then they do not normally have variables, just data and headers. Are you expecting there to be column headers and expecting that MATLAB will synthesize variable names from the column headers?
Is the .txt file just a mix of comments ('%' at beginning of lines) and rectangular columns of data? If so then you can load() -ASCII the .txt file.
You might be able to use uiimport() to deduce the pattern associated with the text file.
If you know what the pattern of the text file is supposed to be then you are usually best off using textscan()
  2 Comments
Tomas
Tomas on 21 May 2013
Yes, you are right, the .txt file has only data and its looks like:
aaa
aaa bbb
aaaa bb aaaa
2.0 0.01
1.0 0.02
........
359.0 0.02
Can I use full path instead of fileID when using textscan funtion?
C = textscan(fileID,formatSpec), where fileID is 'D:\needToRead.txt' ?
Iain
Iain on 21 May 2013
No. You need to open a file to get a file ID (fid = fopen(filename,'r'); for reading), and once you're done with the file, you need to close it (fclose(fid)), and if you need to re-read, you'll either need to reopen it, or use fseek.

Sign in to comment.


Iain
Iain on 21 May 2013
Yes. You can use low level functions to read text files of any format, provided you tell matlab exactly what to do to read the data from the files: (fopen, fread, fclose.)
There are some functions that read lines from open files (eg. textscan)
There are some functions that read simply formatted files eg. dlmread, csvread, load.

Tomas
Tomas on 21 May 2013
Its simply importdata('fullpath.txt', '',5), thanks guys for your time :)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!