import file by specifying its location - without GUI

2 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2013-5-21
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 2013-5-21
编辑:Tomas 2013-5-21
I expect a function where I could just enter variables=neededFunction('C:\readthisfile.txt') (readthisfile.txt is not in "Matlab" path.)

请先登录,再进行评论。

回答(3 个)

Walter Roberson
Walter Roberson 2013-5-21
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 个评论
Tomas
Tomas 2013-5-21
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 2013-5-21
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.

请先登录,再进行评论。


Iain
Iain 2013-5-21
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 2013-5-21
Its simply importdata('fullpath.txt', '',5), thanks guys for your time :)

类别

Help CenterFile Exchange 中查找有关 Low-Level File I/O 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by