我有一个从.csv文件导入的列,其中包含“Dates”行。是否可以将这些值作为rownames导入到matlab中的表中?
我所做的是创建一个变量来导入这些混合数值的日期。如何将这些值作为rownames导入到我的表中?
由于RowNames是double类型,我如何'导入'char日期?
答案 0 :(得分:0)
您可以使用导入助手。 如果您转到“主页”选项卡>导入数据。选择文件。
您可以选择导入数据的类型:表(带名称),列向量(带有这些名称的分隔变量),...
如果您想知道如何编码,您可以转到"导入选择"按钮并单击"生成脚本"。它创建了一个脚本,您可以在其中查看必要的代码,以执行助手可以执行的操作。
答案 1 :(得分:0)
目前尚不清楚表的格式/原始数据是什么,但是当我来到这里寻找问题的答案时,我想我将根据我的意思分享我发现的内容(旧问题我知道)。
请考虑将以下形式的表保存到csv文件中(没有RowName)
B = table({'01/Jan' ;'02/Jan'; '03/Jan' ;'04/Jan'; '05/Jan'},[23;5;17;40;19],[38;43;45;40;49],...
'VariableNames',{'Date','AverageScore' 'MaxScore'})
您可以使用以下方式在表中读取时指定第一列为行名:
myTable = readtable('tableB.csv','ReadRowNames',true)
请参阅readtable上的文档,标题为“从电子表格创建表,包括行名”
答案 2 :(得分:0)
有两种方法可以做到这一点。
1。导入期间(readtable
)
opts = detectImportOptions($File_Path);
opts.RowNamesColumn = $Column_Index;
Table = readtable($File_Path, opts);
第二行代码可能会有所不同,具体取决于您要读取的文件类型。例如,如果您的文件属于“电子表格”,其导入选项opts
应该为SpreadsheetImportOptions
,则第二行代码应更改为
opts.RowNamesRange = $Column_Index or '$Column_Index1:$Column_Index2'
对于其他两种文件类型:导入选项为DelimitedTextImportOptions
的“文本文件”和导入选项为FixedWidthImportOptions
的“固定宽度文本文件”。原始的(设置RowNamesColumn
)有效。
如果您无法确定文件属于哪种类型。运行opts
后,您可以在opts = detectImportOptions($File_Path);
中找到答案(或直接删除分号并运行它)
2。转换表格(table
)
Table = readtable($File_Path); % Ignore this if you got target table already
Table.Properties.RowNames = string(Table{:,$Column_Index});