Error when reading a csv using csvread

12 次查看(过去 30 天)
I am trying to read in a .csv file, which I have read in previously with no trouble.
Here are my command and errors:
>> A=csvread('Tawharanui5278_PSD_1sHammingWindow_50%Overlap_output.csv');
Error using dlmread (line 147)
Mismatch between file and format character vector.
Trouble reading 'Numeric' field from file (row number 394, field number 62257) ==>
...
Error in csvread (line 48)
m=dlmread(filename, ',', r, c);
Any ideas what the problem is? I think the error suggests the problem is with the command rather than the file?
Thanks for your help.

采纳的回答

Walter Roberson
Walter Roberson 2019-10-2
Row number 394 of the file is missing field number 62257
You should switch to using readtable() or readmatrix()
  11 个评论
Walter Roberson
Walter Roberson 2019-10-2
I suggest you try my detect_UTF_encoding utility that I have attached.
function [encoding, fileclass, file_description, bytes_per_char, BOM_size, byte2char, are_you_sure] = detect_UTF_encoding(FILENAME, allow_warning)
%detect_UTF_encoding determines which UTF encoding has been used for a
%file, and returns:
% * an encoding name;
% * 'no file' or 'file exists'
% * text description of the kind of file it is
% * number of bytes per character;
% * size of the Byte Order Mark used in the file;
% * a handle to a routine that converts byte vectors to characters taking into account
% byte swapping;
% * a flag indicating certainty of that the output is correct
% allow_warning can be set to false for automated use instead of
% interactive use
Louise Wilson
Louise Wilson 2019-10-10
Hi Walter, thanks for the code. Before I tried it, I re-copied and pasted my files using TERACOPY! This has fixed the problem so must have been bad ctrl+c and ctrl+p problem...

请先登录,再进行评论。

更多回答(0 个)

类别

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

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by