zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Matlab中readcell用法

MATLAB 用法
2023-09-11 14:14:48 时间

目录

语法

说明

示例

从文本文件中将表格数据读入元胞数组

从电子表格中将表格数据读入元胞数组

从指定的工作表和范围读取元胞数组


        readcell从文件中读取元胞数组。

语法

C = readcell(filename)
C = readcell(filename,opts)
C = readcell(___,Name,Value)

说明

C = readcell(filename) 通过从文件中读取列向数据来创建元胞数组。

readcell 基于文件的扩展名确定文件格式:

  • .txt、.dat 或 .csv(适用于带分隔符的文本文件)

  • .xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)

C = readcell(filename,opts) 还使用导入选项 opts。

C = readcell(___,Name,Value) 基于文件创建元胞数组,并通过一个或多个名称-值对组参数指定其他选项。需要在上述语法的输入参数之后指定名称-值对组。要为数据设置特定的导入选项,可以使用 opts 对象,也可以指定名称-值对组。当指定除 opts 之外的名称-值对组时,readcell 仅支持下列名称-值对组:

  • 文本文件 - DateLocale、Encoding

  • 电子表格文件 - Sheet、UseExcel

示例

从文本文件中将表格数据读入元胞数组

         显示 basic_cell.txt 的内容,然后将混合数据导入元胞数组。

type basic_cell.txt

1,2,3
hello,world,NaN
10-Oct-2018 10:27:56,1,

//
C = readcell('basic_cell.txt')
C=3×3 cell array
    {[                   1]}    {[    2]}    {[        3]}
    {'hello'               }    {'world'}    {[      NaN]}
    {[10-Oct-2018 10:27:56]}    {[    1]}    {1x1 missing}

从电子表格中将表格数据读入元胞数组

         将混合表格数据从 basic_cell.xls 导入元胞数组。

C = readcell('basic_cell.xls')

C=3×3 cell array
    {[                   1]}    {[    2]}    {[        3]}
    {'hello'               }    {'world'}    {1x1 missing}
    {[10-Oct-2018 10:27:56]}    {[    1]}    {1x1 missing}

从指定的工作表和范围读取元胞数组

        预览电子表格文件中的数据,并将混合数据从指定的工作表和范围导入元胞数组。电子表格文件 airlinesmall_subset.xlsx 包含 1996 年至 2008 年间多个工作表中的数据。每个工作表都包含给定年份的数据。预览文件 airlinesmall_subset.xlsx 中的数据。默认情况下,preview 函数显示第一个工作表中的数据。

opts = detectImportOptions('airlinesmall_subset.xlsx');
preview('airlinesmall_subset.xlsx',opts)


ans=8×29 table
    Year    Month    DayofMonth    DayOfWeek    DepTime    CRSDepTime    ArrTime    CRSArrTime    UniqueCarrier    FlightNum     TailNum      ActualElapsedTime    CRSElapsedTime    AirTime    ArrDelay    DepDelay    Origin      Dest      Distance    TaxiIn    TaxiOut    Cancelled    CancellationCode    Diverted    CarrierDelay    WeatherDelay      SDelay      SecurityDelay    LateAircraftDelay
    ____    _____    __________    _________    _______    __________    _______    __________    _____________    _________    __________    _________________    ______________    _______    ________    ________    _______    _______    ________    ______    _______    _________    ________________    ________    ____________    ____________    __________    _____________    _________________

    1996      1          18            4         2117         2120        2305         2259          {'HP'}           415       {'N637AW'}           108                 99            85           6          -3       {'COS'}    {'PHX'}      551         5         18           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1          12            5         1252         1245        1511         1500          {'HP'}           610       {'N905AW'}            79                 75            58          11           7       {'LAX'}    {'PHX'}      370         3         18           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1          16            2         1441         1445        1708         1721          {'HP'}           211       {'N165AW'}            87                 96            74         -13          -4       {'RNO'}    {'PHX'}      601         4          9           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1           1            1         2258         2300        2336         2335          {'HP'}          1245       {'N183AW'}            38                 35            20           1          -2       {'TUS'}    {'PHX'}      110         6         12           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1           4            4         1814         1814        1901         1910          {'US'}           683       {'N963VJ'}            47                 56            34          -9           0       {'DTW'}    {'PIT'}      201         6          7           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1          31            3         1822         1820        1934         1925          {'US'}           757       {'N912VJ'}            72                 65            52           9           2       {'PHL'}    {'PIT'}      267         6         14           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1          18            4          729          730         841          843          {'US'}          1564       {'N941VJ'}            72                 73            58          -2          -1       {'DCA'}    {'PVD'}      357         3         11           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    
    1996      1          26            5         1704         1705        1829         1839          {'NW'}          1538       {'N960N' }            85                 94            69         -10          -1       {'DTW'}    {'RIC'}      456         3         13           0           {0x0 char}          0         {0x0 char}      {0x0 char}     {0x0 char}     {0x0 char}         {0x0 char}    

       从名为 '2007' 的工作表中导入变量 7、8 和 9 的十行数据。Excel 范围 'G2:I11' 表示 7 到 9 列,以及变量名称后面从 2 行开始的十行。

M = readcell('airlinesmall_subset.xlsx','Sheet','2007','Range','G2:I11')

M=10×3 cell array
    {[ 935]}    {[ 935]}    {'WN'}
    {[1041]}    {[1040]}    {'WN'}
    {[1430]}    {[1500]}    {'WN'}
    {[ 940]}    {[ 950]}    {'WN'}
    {[1515]}    {[1515]}    {'WN'}
    {[2042]}    {[2035]}    {'WN'}
    {[2116]}    {[2130]}    {'WN'}
    {[1604]}    {[1605]}    {'WN'}
    {[1258]}    {[1230]}    {'WN'}
    {[1134]}    {[1145]}    {'WN'}