如何在matlab中导入CSV文件

12,672次浏览(最近30天)
努尔扎卡里亚
努尔扎卡里亚 2013年4月18日
编辑: 托马斯•卡特2022年6月6日
嗨,我有一个问题。 我需要从CSV文件导入数据到MATLAB中。不幸的是,数据在3列中有标题信息。
我如何跳过标题并直接获得数据?
例如:
A =导入数据“C: \ s11.dat”) *
那么下一步是什么?我需要你的帮助。
谢谢你!
1评论
sehrish
sehrish 2013年4月18日
编辑:sehrish 2013年4月18日
当你点击导入数据有选项“导入为”..有三个选项将数据保存为矩阵或列或单元数组,所以如果你想将其保存为一个整体,那么选择矩阵和你的整个变量将保存在一个变量中,如果你想明智,那么选择列选项,数据将保存在列中,变量将显示在工作空间中

登录评论。

接受的答案

穆克什Jadhav
穆克什Jadhav 2016年10月9日
编辑:MathWorks支金宝app持团队 2021年3月15日
要将CSV文件中的数据导入MATLAB,请使用“readtable”函数。“readtable”函数自动检测标题和要跳过的行数。
T = readtable(“myfile.csv”);
或者,您可以使用以下命令指定要跳过的行数:
T = readtable(“myfile.csv”“NumHeaderLines”3);%跳过前三行数据
有关更多信息,请参见:
1评论
卡尔德拉旧金山
卡尔德拉旧金山 2020年5月4日
编辑:卡尔德拉旧金山 2020年5月4日
readtable(“myfile.csv”);这将生成一个警告-> '警告:在为表创建变量名之前,已经修改了文件中的列头,使其成为有效的MATLAB标识符。原始列标头保存在VariableDescriptions属性中。将'PreserveVariableNames'设置为true,以使用原始列头作为表变量名。
解do:
T = readtable('myfile.csv','PreserveVariableNames',true);

登录评论。

更多答案(4)

凯伦·赫恩斯比
凯伦·赫恩斯比 2013年4月18日
HI,您可以通过右键单击当前文件夹窗口中的文件来使用导入数据向导。当导入向导打开时,它应该给你一个数据预览,在右上方是一个框,询问你有多少标题行。您可以使用它来创建代码来反复打开这种类型的文件(这工作得很好,但如果您对matlab不熟悉,它可能有点令人困惑),或者您可以使用以下代码来打开文件
ftoread =“%文件名”;
Fid = fopen(ftoread);
fgetl (fid)%读取line,但不处理它
fgetl (fid)
fgetl (fid)
M = textscan(fid);' % f '“分隔符”“\”,);您需要更改值的数量以匹配您的文件%f表示数字,%s表示字符串。
fclose (fid)
您可以在帮助文件中获得更多帮助,只需在搜索框中输入您需要帮助的命令。凯伦

托马斯。
托马斯。 2013年4月18日
编辑:托马斯。 2013年4月18日
我认为最简单的方法是从文件交换中使用CSVIMPORT:
%读取数据示例:将列导入为列向量
[X Y Z] = csvimport()“vectors.csv”“列”, {“X”,Y ',“Z”});
%去除头
X(1) = [];
Y(1) = [];
Z(1) = [];
这假定数组中的第一个元素包含标题
托马斯。
1评论
托马斯•卡特
托马斯•卡特 2022年6月6日
编辑:托马斯•卡特 2022年6月6日
我发现,对于大型数据集,csvimport会破坏数据。我花了一整天想弄明白这事。

登录评论。


sharmila kanagaraj
sharmila kanagaraj 2017年1月28日
有人知道动态集群如何在其中加载数据集吗

jgd0008
jgd0008 2016年12月2日
编辑:每•艾萨克森 2016年12月2日
嗨,像这样的东西,可能工作;
数据= fopen(“file_name.csv”);
A = textscan(数据,' % s '“分隔符”' \ n ');
B = a {1,1};
文件关闭(fid);
C =文本扫描(B;' % s '“分隔符””、“);
D = c {1};

标签

还没有输入标签。

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!