Error while using readtable command in MATLAB

398 views (last 30 days)
Hi I have one question. I have downloaded one csv template file with .csv extension from Internet. Then I simply converted this .csv file into .dat extension.
filename = fullfile('Desktop','ABC','breslow.dat') %here breslow.dat is my file
Then i try to execute this command :
T =readtable(filename)
when i execute this it shows an error such as:
Error using readtable (line 198)
Unable to open file 'Desktop\ABC\breslow.dat'.
Can anybody help me in this regard ?? Thank you
  1 Comment
Luciano Nascimento
Luciano Nascimento on 27 Dec 2022
redatable precisa ser aberto com o caminho do diretorio + file. neste exemplo o que está pedindo para abrir é o arquivo somente sem o diretorio completo, ai da erro.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 21 Mar 2018
Try it this way:
folder = 'C:\Users\Bilal Ahmad\Desktop\ABC';
fullFileName = fullfile(folder, 'breslow.dat')

More Answers (4)

Jan
Jan on 20 Mar 2018
This does mean, that there is no such file. Note that the relative path 'Desktop\ABC\breslow.dat' is interpreted relative to the current directory as replied by the cd command. Most likely this current directory is not what you expect it to be. Prefer absolute path names to avoid such problems.
  5 Comments
Steven Lord
Steven Lord on 5 Jan 2023
You haven't showed us the code that creates the variable X that you pass into readtable on line 45 of your trail.m file. But unless you have a folder named MATLAB_scripts_Ashish inside another folder named MATLAB_scripts_Ashish (which would be your current folder) the file you have circled in green in the Current Folder window in your screen shot is not the file you're telling your trail script to read on line 45.
Even if that is the file you intended your code to read, the file in the Current Folder does not have the extension .txt. Its extension is "rec1066-2(4244)".
Image Analyst
Image Analyst on 6 Jan 2023
We know from the files you attached in your other question that all your data was in a single line, instead of the first line being column headers and the data being below that, meaning that it was trying to make some columns (fields) names from numbers. You can't do that. You can have a table field called "mean" or "data" or whatever but you can't have a field called "-0.542" or "#####".

Sign in to comment.


Ahmad Bilal
Ahmad Bilal on 20 Mar 2018
Edited: Walter Roberson on 21 Mar 2018
Hi, I have already checked that my breslow.dat is in the specific folder and it still shows the following error.
>> cd 'C:\Users\Bilal Ahmad\Desktop\ABC'
>> filename = fullfile('Desktop','ABC','breslow.dat')
filename =
'Desktop\ABC\breslow.dat'
C= readtable(filename)
Error using readtable (line 198)
Unable to find or open 'Desktop\ABC\breslow.dat'. Check the path and filename or file permissions.
Note: readtable detected the following parameters:
'Delimiter', ',', 'HeaderLines', 0, 'ReadVariableNames', true, 'Format', ''
It is still showing the error. Can you help me in this regard ??
  4 Comments
Stephen23
Stephen23 on 21 Mar 2018
Edited: Stephen23 on 21 Mar 2018
@Ahmad Bilal: read Jeremy Hughes' comment again: the path you are searching for does not exist because you cd to a directory, and then use fullfile to build a relative path that does not exist in that location. If you have cd-ed to the directory ABC then all you need is
filename = 'breslow.dat';
However you should avoid cd completely, because it just slows code down and makes debugging harder. As the others have already written: use an absolute filepath, just as Image Analyst already showed you.
Ahmad Bilal
Ahmad Bilal on 21 Mar 2018
Thank You for your help. Now it works fine

Sign in to comment.


narimen boucenna
narimen boucenna on 16 Jul 2020
is there any command i can use instead of
readtable
? i have matlab 2009 and i dont have this command in it
  1 Comment
Image Analyst
Image Analyst on 16 Jul 2020
Wow, that is an antique. Try other functions like dlmread(), csvread(), importdata(), xlsread(), textscan(), etc.

Sign in to comment.


Mahuya
Mahuya on 19 Nov 2022
To use readtable() function without any error you have to upload your file (from where you want to fetch data)into matlab drive/the folder you are using for matlab files. Then you can successfully able to fetch data from that file.
  1 Comment
Image Analyst
Image Analyst on 19 Nov 2022
That's not a requirement. I never do that and I use readtable all the time. For example, I have files on my local drive (not on the MATLAB drive or any other cloud server) and readtable works just fine on those local files.

Sign in to comment.

Categories

Find more on Data Import and Export in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!