【发布时间】:2015-11-02 03:32:00
【问题描述】:
我正在尝试使用 Matlab 导入一个 csv 文件,其中包含标题行和几列。开头是这样的:
Essai : Taux 1;"1,00000";mm/min
Déformation : Déformation de traction (Déplacement) longueur initiale;"100,00000";mm
Généralités : Date de début;"09/07/2015 17:12"
Généralités : Date de fin;"09/07/2015 17:15"
Temps;Charge;Déplacement traverse
(s);(N);(mm)
"0,00000";"-0,22448";"0,00000"
"0,10000";"2,56269";"0,00093"
"0,20000";"3,84100";"0,00328"
"0,30000";"3,84073";"0,00524"
"0,40000";"4,06938";"0,00648"
...
我可以使用 xlsread 导入它,手动删除标题:
A = xlsread('filename.csv');
B = A(n_headerlines+1:end,:);
而且效果很好。但是,当我达到数千时,我的数据中有不相关的空格:
...
"147,70000";"984,81097";"2,46197"
"147,80000";"998,60400";"2,46318"
"147,89999";"1 020,65094";"2,46489"
"148,00000";"1 043,27832";"2,46694"
...
在导入数据后在 A 或 B 中给出 NaN。
如何在保留 csv 格式的同时删除这些空格? 我正在考虑使用 strrep,但如果不破坏 csv 文件的格式,我无法弄清楚如何使用。
感谢您的帮助!
【问题讨论】:
-
您确定空格来自 xlsread 而不是来自原始 csv 文件?此外,我不明白您为什么害怕使用 strrep 删除空格,因为您遇到的每个空格似乎都是一个问题。
-
@zounnouf,看来你有两个选择。您应该在使用 xlsread 之前删除 csv 文件中的空格,或者使用分隔符“;”逐行读取 csv 文件作为字符串并从每个字符串中删除空格并填充矩阵
-
如果
A中的NaNs 困扰着您,您可以在致电xlsread后使用A(isnan(A))=[];摆脱它们。
标签: matlab csv data-import