我正在使用matlab 2009版。我使用following code
通过数据库访问数据 conn = actxserver('ADODB.Connection');
conn.Open('Provider=sqloledb;Data Source=localhost\SQLEXPRESS;Initial Catalog=user_control_ex01;Integrated Security=SSPI;');
dat=conn.Execute('select * from user_ident').GetRows;
返回的表格采用这种格式
dat =
[ 1] [ 2] [ 3] [ 4]
'Admin ' 'user ' 'user2 ' 'hello '
'Admin ' 'user ' 'user2 ' 'hello123 '
正如您所看到的,这是2x4单元格返回的对象。我希望将此单元格转换为正确的表格或某种格式,以便我可以访问确切的行列条目。我正在考虑使用这个单元格,但无法知道如何继续。我想访问row_number和列号引用的数据。有人可以提供一些帮助,因为这个单元格不是正确的行列格式,它将一行显示为列。
答案 0 :(得分:1)
看起来你已经在第一行填充了一个3x4单元格,其中列标题(在本例中为数字)。如果是这种情况,你可以剥掉标题。
datHeader = dat(1,:);
datRows = dat(2:end,:);
然后您可以使用datRows{iRow}{iColumn}
索引它。
但是,如果您正在使用较大的数据集并拥有任何数字数据,那么您可能希望将数字列从cell
数组转换为double
数组,并且将数据存储为列向量的单元格数组而不是2-D单元格数组。并在char列上调用deblank()
以修剪尾随空格,这适用于2-D char
数组但不适用于cellstr
s。