MATLAB Answers


Importing csv error - incorrectly finalised?

Asked by MC
on 12 Feb 2019
Latest activity Edited by MC
on 12 Feb 2019
Hi Guys,
I have been struggling to import certain *.csv files using readtable(). The files contain a mixture of text and numbers and include some header data followed by a table of actual data.
I guess the files themselves have not been written / finalised correctly by the system that generates the CSVs.
  • If I import the data from an original file, all the heading data is ignored. (see attached screenshot).
  • If I open and save the csv file in excel first ( without changing any of the data or file type ), the data is imported correctly. n.b. the file size changes.
  • When I open and view the files using notepad++ all the delimiters and end of line characters appear identical before and after saving.
I have tried various readtable options such as ('ReadVariableNames',false) and ('DatetimeType','text'). I have also tried detectImportOptions(filename, 'NumHeaderLines', 0), but this did not change the import behaviour.
Any help / insight would be appreciated.
Best regards, MC.
Edit: To be clear, I want to import the entire file. Text and Numbers.
Edit2: It looks like Excel pads the empty columns on save, allowing readtable() to work correctly.


Sign in to comment.




1 Answer

Answer by HD
on 12 Feb 2019

Data = csvread('Original.csv',7,1);


on 12 Feb 2019
Thanks, but this only imports the numbers. I need to import the entire contents of the file.
I have updated question for clarity.
on 12 Feb 2019
i would then suggest to use scantext since different rows have different nuber of columns

Sign in to comment.