readtable

Составьте таблицу из файла

Описание

пример

T = readtable(filename) составляет таблицу путем чтения данных в столбцах из файла.

readtable определяет формат файла из расширения файла:

  • .txt, .dat, или .csv для файлов разделенного текста

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы

readtable создает одну переменную в T для каждого столбца в файле и именах переменных чтений из первой строки файла. По умолчанию, readtable создает переменные, которые имеют типы данных, которые подходят для значений данных, обнаруженных в каждом столбце входного файла.

пример

T = readtable(filename,opts) составляет таблицу с помощью настроек импорта opts.

пример

T = readtable(___,Name,Value) составляет таблицу из файла с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, можно задать ли readtable читает первую строку файла как имена переменных или как данные.

Чтобы установить определенные настройки импорта для ваших данных, можно или использовать opts возразите или можно задать пары "имя-значение". Когда вы задаете пары "имя-значение" в дополнение к opts, затем readtable поддержки только эти пары "имя-значение":

  • Текст и параметры электронной таблицы — ReadVariableNames'ReadRowNames'

  • Текст только параметры — DateLocale, Encoding

  • Электронная таблица только параметры — Sheet, UseExcel

Примеры

свернуть все

Загрузите файл myCsvTable.dat и предварительный просмотр его содержимое в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что файл содержит разделенные от запятой данные в столбцах.

filename = 'myCsvTable.dat';

Составьте таблицу из разделенного от запятой текстового файла. Получившаяся таблица T содержит одну переменную для каждого столбца в файле и readtable обрабатывает записи в первой линии файла как имена переменных.

T = readtable(filename)
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176        1   
    {'Johnson' }    {'M'}     43       69       163        0   
    {'Williams'}    {'F'}     38       64       131        0   
    {'Jones'   }    {'F'}     40       67       133        0   
    {'Brown'   }    {'F'}     49       64       119        0   

Начиная в R2020a, readtable функционируйте читает входной файл, как будто он автоматически вызвал detectImportOptions функция на файле. Это может обнаружить типы данных, отбросить дополнительные линии заголовка и заполнить отсутствующие значения.

Например, предварительно просмотрите файл headersAndMissing.txt в текстовом редакторе. Файл имеет линию с именами столбцов и другую линию с заголовками. Последние две строки имеют разрывы, где предыдущие строки имеют значения данных.

Составьте таблицу из файла. readtable функционируйте отбрасывает заголовки. Кроме того, это заполняет разрывы с соответствующими отсутствующими значениями — NaN значение для числовых переменных и пустой символьный вектор для текста.

T = readtable('headersAndMissing.txt')
T=5×6 table
     LastName        Gender      Age    Height    Weight    Smoker
    ___________    __________    ___    ______    ______    ______

    {'Wu'     }    {'M'     }     38      71       176        1   
    {'Johnson'}    {'M'     }     43      69       163        0   
    {'Sanchez'}    {'F'     }     38      64       131        0   
    {'Brown'  }    {'F'     }    NaN      67       133        0   
    {'Picard' }    {0x0 char}    NaN      64       119        0   

Чтобы восстановить поведение по умолчанию от предыдущих релизов, задайте 'Format','auto' аргумент пары "имя-значение". readtable читает заголовки как данные, и в результате они преобразуют все табличные переменные в текст.

T = readtable('headersAndMissing.txt','Format','auto')
T=6×6 table
     LastName        Gender         Age        Height     Weight       Smoker   
    ___________    __________    __________    _______    _______    ___________

    {'string' }    {'string'}    {'int'   }    {'int'}    {'int'}    {'boolean'}
    {'Wu'     }    {'M'     }    {'38'    }    {'71' }    {'176'}    {'1'      }
    {'Johnson'}    {'M'     }    {'43'    }    {'69' }    {'163'}    {'0'      }
    {'Sanchez'}    {'F'     }    {'38'    }    {'64' }    {'131'}    {'0'      }
    {'Brown'  }    {'F'     }    {0x0 char}    {'67' }    {'133'}    {'0'      }
    {'Picard' }    {0x0 char}    {0x0 char}    {'64' }    {'119'}    {'0'      }

Для получения дополнительной информации смотрите раздел Compatibility Considerations на этой странице.

Предварительно просмотрите файл mySpaceDelimTable.txt в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что файл содержит разграниченный пробел, данные в столбцах.

Составьте таблицу из файла разделенного текста пробела. readtable функционируйте присваивает имена переменных по умолчанию Var1 к Var5 потому что файл не содержит обнаруживаемые имена столбцов в своей первой строке.

T = readtable('mySpaceDelimTable.txt')
T=3×5 table
    Var1     Var2    Var3     Var4       Var5   
    _____    ____    ____    ______    _________

    {'M'}     45      45     {'NY'}    {'true' }
    {'F'}     41      32     {'CA'}    {'false'}
    {'M'}     40      34     {'MA'}    {'false'}

Загрузите файл myCsvTable.dat и предварительный просмотр его содержимое в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что файл содержит разделенные от запятой данные в столбцах.

filename = 'myCsvTable.dat';

Составьте таблицу из разделенного от запятой текстового файла. Импортируйте первые два столбца как векторы символов, третий столбец как uint32, и следующие два столбца как с двойной точностью, числа с плавающей запятой. Импортируйте записи последнего столбца как векторы символов.

T = readtable(filename,'Format','%s%s%u%f%f%s')
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176      {'1'} 
    {'Johnson' }    {'M'}     43       69       163      {'0'} 
    {'Williams'}    {'F'}     38       64       131      {'0'} 
    {'Jones'   }    {'F'}     40       67       133      {'0'} 
    {'Brown'   }    {'F'}     49       64       119      {'0'} 

Спецификаторами преобразования является %s для массива ячеек из символьных векторов, %f для double, и %u для uint32.

Считайте немецкие даты из файла и добавьте их в таблицу как английские даты.

Предварительно просмотрите файл german_dates.txt в текстовом редакторе. Снимок экрана показывают ниже. Заметьте, что первый столбец значений содержит даты на немецком языке, и вторые и третьи столбцы являются числовыми значениями.

Считайте файл примера с помощью readtable. Спецификаторами преобразования является %D даты и %f для значений с плавающей точкой. Задайте кодирование файла с помощью FileEncoding аргумент пары "имя-значение". Задайте формат и локаль дат с помощью DateLocale аргумент пары "имя-значение".

T = readtable('german_dates.txt',...
    'Format','%{dd MMMM yyyy}D %f %f',...
    'FileEncoding','ISO-8859-15',...
    'DateLocale','de_DE')
T=3×3 table
          Var1          Var2    Var3 
    ________________    ____    _____

     01 January 2014    20.2    100.5
    01 February 2014    21.6    102.7
       01 March 2014    20.7     99.8

Составьте таблицу из электронной таблицы, которая содержит имена переменных в первой строке и имена строки в первом столбце.

T = readtable('patients.xls','ReadRowNames',true);

Отобразите первые пять строк и сначала четыре переменные таблицы.

T(1:5,1:4)
ans=5×4 table
                  Gender      Age              Location               Height
                __________    ___    _____________________________    ______

    Smith       {'Male'  }    38     {'County General Hospital'  }      71  
    Johnson     {'Male'  }    43     {'VA Hospital'              }      69  
    Williams    {'Female'}    38     {'St. Mary's Medical Center'}      64  
    Jones       {'Female'}    40     {'VA Hospital'              }      67  
    Brown       {'Female'}    49     {'County General Hospital'  }      64  

Просмотрите DimensionNames свойство таблицы.

T.Properties.DimensionNames
ans = 1x2 cell
    {'LastName'}    {'Variables'}

'LastName' имя в первом столбце первой строки электронной таблицы.

Составьте таблицу с помощью данных из заданной области электронной таблицы patients.xls. Используйте данные из 5 3 прямоугольной области между углами C2 и E6. Не используйте первую строку этой области как имена переменных.

T = readtable('patients.xls',...
    'Range','C2:E6',...
    'ReadVariableNames',false)
T = 

    Var1               Var2                Var3
    ____    ___________________________    ____

    38      'County General Hospital'      71  
    43      'VA Hospital'                  69  
    38      'St. Mary's Medical Center'    64  
    40      'VA Hospital'                  67  
    49      'County General Hospital'      64  

T содержит имена переменных по умолчанию.

Создайте настройки импорта, адаптируйте типы данных для нескольких переменных, и затем считайте данные.

Создайте объект настроек импорта из текстового файла.

opts = detectImportOptions('airlinesmall.csv')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'ISO-8859-1'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
                VariableTypes: {'double', 'double', 'double' ... and 26 more}
        SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
              VariableOptions: Show all 29 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [2 Inf]
            VariableNamesLine: 1
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

Исследуйте Type свойство переменных TaxiIn и TaxiOut.

getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 
  1x2 TextVariableImportOptions array with properties:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

Измените тип переменных TaxiIn и TaxiOut к double.

 opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');

Задайте подмножество переменных, чтобы импортировать и исследовать.

opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

Используйте readtable функция наряду с опциями возражает, чтобы импортировать выбранные переменные. Отобразите сводные данные таблицы.

T = readtable('airlinesmall.csv',opts);
summary(T)
Variables:

    TaxiIn: 123523x1 double

        Values:

            Min             0      
            Median          5      
            Max             1451   
            NumMissing      37383  

    TaxiOut: 123523x1 double

        Values:

            Min             0      
            Median          13     
            Max             755    
            NumMissing      37364  

Обнаружьте настройки импорта для файла электронной таблицы, задайте переменные, чтобы импортировать, и затем считать данные.

Создайте объект настроек импорта из файла.

opts = detectImportOptions('patients.xls')
opts = 
  SpreadsheetImportOptions with properties:

   Sheet Properties:
                        Sheet: ''

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
                VariableTypes: {'char', 'char', 'double' ... and 7 more}
        SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
              VariableOptions: Show all 10 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Range Properties:
                    DataRange: 'A2' (Start Cell)
           VariableNamesRange: 'A1'
                RowNamesRange: ''
           VariableUnitsRange: ''
    VariableDescriptionsRange: '' 
	To display a preview of the table, use preview

Измените объект опций задать который переменные импортировать.

opts.SelectedVariableNames = {'Systolic','Diastolic'};

Используйте readtable наряду с опциями возражают, чтобы импортировать заданные переменные.

T = readtable('patients.xls',opts);
summary(T)
Variables:

    Systolic: 100x1 double

        Values:

            Min         109   
            Median      122   
            Max         138   

    Diastolic: 100x1 double

        Values:

            Min           68  
            Median      81.5  
            Max           99  

Можно считать табличные данные при сохранении имен переменных, которые включают любые символы, включая символы non-ASCII и пробелы. Во-первых, составьте таблицу с произвольными именами переменных и запишите таблицу в текстовый файл. Затем считайте табличные данные назад при сохранении исходных имен переменных.

Составьте таблицу, содержащую произвольные имена переменных, и запишите табличные данные в файл 'sampletable.txt'.

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

writetable(T,'sampletable.txt')

Считайте табличные данные назад с помощью readtable. По умолчанию MATLAB® преобразует любые имена переменных, которые включают пробелы и символы non-ASCII в допустимые идентификаторы MATLAB®. Например, MATLAB® преобразует имена переменных 'Last Name' к 'LastName', и 'Smoker (1 or 0)' к 'Smoker_1or0_'. Чтобы считать табличные данные при сохранении имен переменных, установите 'VariableNamingRule' параметр к preserve.

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

Можно считать шестнадцатеричные и двоичные числа из файла и сохранить их как числовые переменные в таблице. readtable функционируйте автоматически читает шестнадцатеричные и двоичные числа, когда они включают 0x и 0b префиксы соответственно. Числовые значения хранятся с помощью целочисленных типов данных. Можно также использовать настройки импорта, чтобы считать такие числа, когда у них нет префиксов.

Предварительно просмотрите hexAndBinary.txt файл в текстовом редакторе. Это имеет столбцы шестнадцатеричных и двоичных чисел с префиксами и один столбец без.

Считайте файл с помощью readtable. Функция обнаруживает числа с 0x и 0b префиксы и хранят их как целые числа. Третий столбец не имеет префиксов, таким образом, его значения обработаны как текст.

T = readtable('hexAndBinary.txt')
T=3×4 table
    Var1     Var2      Var3         Var4    
    _____    ____    ________    ___________

      255    255     {'C7F9'}    {'Device1'}
      256      4     {'05BF'}    {'Device2'}
    43981    129     {'F00F'}    {'Device3'}

readtable функционируйте хранит числовые значения в различных целочисленных классах (uint16 и uint8) потому что T.Var1 имеет значение, которое требует больше чем 8 битов устройства хранения данных.

class(T.Var1)
ans = 
'uint16'
class(T.Var2)
ans = 
'uint8'

Чтобы задать типы данных для хранения числовых значений, импортированных из шестнадцатеричных и двоичных чисел, используйте 'HexType' и 'BinaryType' аргументы в виде пар имя-значение. Сохраните значения как 32-битные целые числа со знаком.

T = readtable('hexAndBinary.txt','HexType','int32','BinaryType','int32');
class(T.Var1)
ans = 
'int32'
class(T.Var2)
ans = 
'int32'

Можно использовать настройки импорта, чтобы обнаружить шестнадцатеричные и двоичные числа без префиксов и задать устройство хранения данных для них. Создайте объект настроек импорта для hexAndBinary.txt.

opts = detectImportOptions('hexAndBinary.txt')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'char' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [1 Inf]
            VariableNamesLine: 0
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

Чтобы указать, что третий столбец должен быть импортирован, как, шестнадцатеричные значения, несмотря на отсутствие префикса, используют setvaropts функция, чтобы изменить тип переменной для третьей переменной таблицы. Установите тип переменной на int32.

opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'int32' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [1 Inf]
            VariableNamesLine: 0
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

Считайте файл и импортируйте третий столбец как числовые значения, не текст.

T = readtable('hexAndBinary.txt',opts)
T=3×4 table
    Var1     Var2    Var3        Var4    
    _____    ____    _____    ___________

      255    255     51193    {'Device1'}
      256      4      1471    {'Device2'}
    43981    129     61455    {'Device3'}

Входные параметры

свернуть все

Имя файла, чтобы читать в виде вектора символов или строкового скаляра.

В зависимости от местоположения вашего файла, filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка или папка на пути MATLAB®

Задайте имя файла в filename.

Пример: 'myFile.txt'

Файл в папке

Если файл не находится в текущей папке или в папке на пути MATLAB, то задайте полное имя или относительный путь в filename.

Пример: 'C:\myFolder\myFile.xlsx'

Пример: 'dataDir\myFile.txt'

Удаленное местоположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения, scheme_name может быть одно из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.csv'

  • Если filename включает расширение файла, затем функция импорта определяет формат файла из расширения. В противном случае необходимо задать 'FileType' аргументы пары "имя-значение", чтобы указать на тип файла.

  • В системах Windows® с программным обеспечением Microsoft® Excel® функция импорта читает любой формат файла электронной таблицы Excel, распознанный вашей версией Excel.

  • Если ваша система не имеет Excel для Windows или если вы используете MATLAB Online™, функция импорта действует с UseExcel набор свойств к false, и чтения только .xls, .xlsx, .xlsm, .xltx, and .xltm файлы.

  • Для файлов разделенного текста функция импорта преобразует пустые поля в файле к любому NaN (для числовой переменной) или пустой символьный вектор (для текстовой переменной). Все линии в текстовом файле должны иметь то же количество разделителей. Функция импорта игнорирует незначительный пробел в файле.

Типы данных: char | string

Настройки импорта файла в виде SpreadsheetImportOptionsDelimitedTextImportOptions, или FixedWidthImportOptions объект, созданный detectImportOptions функция. opts объект содержит свойства, которые управляют процессом импорта данных. Для получения дополнительной информации о свойствах каждого объекта смотрите соответствующую объектную страницу.

Тип файловВывод
Файлы электронной таблицыSpreadsheetImportOptions объект
Текстовые файлыDelimitedTextImportOptions объект
Текстовые файлы фиксированной шириныFixedWidthImportOptions объект

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'ReadVariableNames',false указывает, что первая строка файла не соответствует именам переменных.

При чтении:

  • Текстовые файлы, только эти названия параметра применяются: FileType'ReadVariableNames' 'ReadRowNames' 'TreatAsEmpty' 'DatetimeType' , Delimiter'HeaderLines' формат'EmptyValue' 'MultipleDelimsAsOne' 'CollectOutput' CommentStyle 'ExpChars' 'LineEnding' 'DateLocale' , Encoding, HexType, и BinaryType.

  • Файлы электронной таблицы, только эти названия параметра применяются: FileType'ReadVariableNames' 'ReadRowNames' 'TreatAsEmpty' 'DatetimeType' , SheetОбласть значений, UseExcel, и TextType.

  • Текст или Файлы электронной таблицы с opts настройки импорта, только эти названия параметра применяются: ReadVariableNames'ReadRowNames' 'DateLocale' , Encoding, Sheet, и UseExcel.

Текст и файлы электронной таблицы

свернуть все

Тип файла в виде разделенной запятой пары, состоящей из 'FileType' и одно из этих значений.

ЗначениеНастройки импорта для файла
'spreadsheet'

Возвратите SpreadsheetImportOptions объект.

'text'

Возвратите DelimitedTextImportOptions или FixedWidthImportOptions объект в зависимости от размещения текстового файла.

'delimitedtext'

Возвратите DelimitedTextImportOptions объект. Используйте эту опцию для текстовых файлов, которым разделили столбцы разделители.

'fixedwidth'

Возвратите FixedWidthImportOptions объект. Используйте эту опцию для текстовых файлов, которые имеют столбцы фиксированных ширин.

Используйте 'FileType' аргумент пары "имя-значение", когда filename не включает расширение файла, или когда расширение не является одним из них:

  • .txt, .dat, или .csv для текстовых файлов

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронной таблицы

Пример: 'FileType','text'

Типы данных: char | string

Индикатор для чтения первой строки как имена переменных в виде разделенной запятой пары, состоящей из 'ReadVariableNames' и любой trueложь, 1, или 0. Если незаданный, readtable автоматически обнаруживает присутствие имен переменных.

Индикатор

Описание

true

Используйте, когда первая строка области, которая будет читать, будет содержать имена переменных для таблицы. readtable создает переменную, с обнаруженным именем переменной, для каждого столбца в T.

false

Используйте, когда первая строка области, которая будет читать, будет содержать данные в таблице. readtable создает имена переменных по умолчанию формы 'Var1',...,'VarN', где N количество переменных.

незаданный Когда оставлено незаданный, readtable автоматически обнаруживает true или false и доходы соответственно.

Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логическими индикаторами является true, затем readtable сохраняет имя в первом столбце первой строки области, чтобы читать как первое имя размерности в свойстве, T.Properties.DimensionNames.

Если вы задаете ReadVariableNames аргумент в дополнение к opts настройки импорта, затем readtable поведение изменяется на основе спецификации:

  • Если ReadVariableNames true, затем считайте имена переменных из заданного файла при помощи VariableNamesRange или VariableNamesLine свойство объекта настроек импорта.

  • Если ReadVariableNames false, затем считайте имена переменных из VariableNames свойство объекта настроек импорта.

Индикатор для чтения первого столбца как строка называет в виде разделенной запятой пары, состоящей из 'ReadRowNames' и любой falseTRUE, 0, или 1.

Индикатор

Описание

false

Используйте, когда первый столбец области, который будет читать, будет содержать данные, а не имена строки для таблицы.

true

Используйте, когда первый столбец области, который будет читать, будет содержать имена строки для таблицы.

незаданныйКогда оставлено незаданный, readtable принимает false.

Примечание: Если оба 'ReadVariableNames' и 'ReadRowNames' логическими индикаторами является true, затем readtable сохраняет имя в первом столбце первой строки области, чтобы читать как первое имя размерности в свойстве, T.Properties.DimensionNames.

Если вы задаете ReadRowNames аргумент в дополнение к opts настройки импорта, затем readtable поведение изменяется на основе спецификации:

  • Если ReadRowNames true, затем считайте имена строки из заданного файла при помощи RowNamesRange или RowNameColumn свойство объекта настроек импорта.

  • Если ReadRowNames false, затем не импортируйте имена строки.

Текст заполнителя, чтобы обработать как пустое значение в виде разделенной запятой пары, состоящей из 'TreatAsEmpty' и вектор символов, массив ячеек из символьных векторов, строка или массив строк. Табличные элементы, соответствующие этим символам, установлены в NaN.

'TreatAsEmpty' только применяется к числовым столбцам в файле и readtable не принимает числовые литералы, такие как '-99'.

Пример: 'TreatAsEmpty','N/A' или 'TreatAsEmpty',"N/A" наборы N/A в рамках числовых столбцов к NaN.

Пример: 'TreatAsEmpty',{'.','NA','N/A'} или 'TreatAsEmpty',[".","NA","N/A"] наборы .нет данных и N/A в рамках числовых столбцов к NaN.

Типы данных: char | string

Введите для данных об импортируемом тексте в виде разделенной запятой пары, состоящей из 'TextType' и любой 'char' или 'string'.

  • 'char' — Импортируйте текстовые данные в MATLAB как векторы символов.

  • 'string' — Импортируйте текстовые данные в MATLAB как строковые массивы.

Пример: 'TextType','char'

Введите для импортированных данных о дате и времени в виде разделенной запятой пары, состоящей из 'DatetimeType' и одно из этих значений: 'datetime'Текст, или 'exceldatenum'. Значение 'exceldatenum' применимо только для файлов электронной таблицы и не допустим для текстовых файлов.

ЗначениеВведите для импортированных данных о дате и времени
'datetime'

MATLAB datetime тип данных

Для получения дополнительной информации смотрите datetime.

'text'

Если 'DatetimeType' задан как 'text', затем тип для импортированных данных о дате и времени зависит от значения, заданного в 'TextType' параметр:

  • Если 'TextType' установлен в 'char', затем функция импорта возвращает даты как массив ячеек из символьных векторов.

  • Если 'TextType' установлен в 'string', затем функция импорта возвращает даты как массив строк.

'exceldatenum'

Excel последовательные числа даты

Последовательный номер даты является одним номером, равным номеру дней с данной ссылочной даты. Excel последовательные числа даты использует различную ссылочную дату, чем MATLAB последовательные числа даты. Для получения дополнительной информации о датах Excel смотрите https://support.microsoft.com/en-us/kb/214330.

Типы данных: char | string

Отметьте, чтобы сохранить имена переменных в виде разделенной запятой пары, состоящей из VariableNamingRule и любой true, или false.

  • 'preserve' — Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают символы non-ASCII и пробелы.

  • 'modify' — Преобразуйте недопустимые имена переменных (как определено isvarname функция) к допустимым идентификаторам MATLAB.

Начиная в R2019b, имена переменных и имена строки могут включать любые символы, включая символы non-ASCII и пробелы. Кроме того, они могут начать с любых символов, не только обозначает буквами. Переменная и имена строки не должны быть допустимыми идентификаторами MATLAB (как определено isvarname функция. Чтобы сохранить эти имена переменных и имена строки, установите значение VariableNamingRule к 'preserve'.

Типы данных: char | string

Текстовые файлы только

свернуть все

Символ разделителя полей в виде разделенной запятой пары, состоящей из 'Delimiter' и вектор символов, массив ячеек из символьных векторов или строка. Задайте Delimiter использование любого допустимого символа, такого как запятая ',' или период '.'.

Эта таблица приводит некоторые обычно используемые символы разделителя полей.

Спецификатор

Разделитель полей

','

'comma'

Запятая

' '

'space'

Пробел

'\t'

'tab'

Вкладка

';'

'semi'

Точка с запятой

'|'

'bar'

Вертикальная панель

незаданный

Если незаданный, readtable автоматически обнаруживает разделитель.

Чтобы обработать последовательные разделители как один разделитель, задайте Delimiter как массив ячеек из символьных векторов. Кроме того, необходимо также задать MultipleDelimsAsOne опция.

Пример: 'Delimiter',',' или 'Delimiter','comma'

Типы данных: char | string | cell

Линии, чтобы пропустить в начале файла в виде разделенной запятой пары, состоящей из 'HeaderLines' и положительное целое число. Если незаданный, readtable автоматически обнаруживает количество линий, чтобы пропустить.

Типы данных: single | double

Формат столбца файла в виде разделенной запятой пары, состоящей из 'Format' и вектор символов или строковый скаляр, имеющий один или несколько спецификаторов преобразования или 'auto'. Спецификаторы преобразования совпадают со спецификаторами, принятыми textscan функция.

Определение формата может значительно улучшить скорость для некоторых больших файлов. Если вы не задаете значение для Formatто readtable использование %q интерпретировать нечисловые столбцы. %q спецификатор читает текст и не использует двойные кавычки (") в подходящих случаях.

  • Если вы не задаете 'Format' пара "имя-значение", затем readtable функция ведет себя, как будто вы использовали результаты detectImportOptions функция, чтобы импортировать данные. Для получения дополнительной информации о последствиях этого поведения см. Вопросы совместимости.

  • Если вы задаете 'Format','auto', затем созданными переменными является double массивы, массив ячеек из символьных векторов или datetime массивы, в зависимости от данных. Если целый столбец является числовым, переменные импортируются как double. Если какой-либо элемент в столбце не является числовым, переменные импортируются как массивы ячеек из символьных векторов, или как datetime массивы, если значения представляют даты и времена.

Типы данных: char | string

Возвращенное значение для пустых числовых полей в файлах разделенного текста в виде разделенной запятой пары, состоящей из 'EmptyValue' и скаляр.

Несколько обработка разделителя в виде разделенной запятой пары, состоящей из 'MultipleDelimsAsOne' и любой true или false. Если true, затем функция импорта обрабатывает последовательные разделители как один разделитель. Повторные разделители, разделенные пробелом, также обработаны как один разделитель. Необходимо также задать Delimiter опция.

Пример: 'MultipleDelimsAsOne',1

Логический индикатор, определяющий конкатенацию данных в виде разделенной запятой пары, состоящей из 'CollectOutput' и любой true или false. Если true, затем функция импорта конкатенирует последовательные выходные ячейки того же основного класса MATLAB в единый массив.

Символы, определяющие текст проигнорировать в виде разделенной запятой пары, состоящей из 'CommentStyle' и вектор символов, массив ячеек из символьных векторов, строка или массив строк.

Например, задайте символ, такой как '%' проигнорировать текст после символа на той же линии. Задайте массив ячеек двух векторов символов, таких как {'/*','*/'}, проигнорировать любой текст между теми последовательностями.

MATLAB проверяет на комментарии только в начале каждого поля, не в поле.

Пример: 'CommentStyle',{'/*','*/'}

Типы данных: char | string

Символы экспоненты в виде разделенной запятой пары, состоящей из 'ExpChars' и вектор символов или строка. Символами экспоненты по умолчанию является eED, и D.

Типы данных: char | string

Символы конца линии в виде разделенной запятой пары, состоящей из 'LineEnding' и вектор символов или строка. Вектором символов должен быть '\r\n' или это должно задать отдельный символ. Общие символы конца линии являются символом новой строки ('\n') или возврат каретки ('\r'). Если вы задаете '\r\n', затем функция импорта обрабатывает любой \rN, и комбинация двух (\r\n) как символы конца линии.

Последовательностью конца линии по умолчанию является \nR, или \r\n, В зависимости от содержимого вашего файла.

Если существуют отсутствующие значения и последовательность конца линии в конце последней линии в файле, то функция импорта возвращает пустые значения для тех полей. Это гарантирует что отдельные ячейки в выходном массиве ячеек, C, одного размера.

Пример: 'LineEnding',':'

Типы данных: char | string

Локаль для чтения дат в виде разделенной запятой пары, состоящей из 'DateLocale' и вектор символов или строковый скаляр формы xx_YY, где:

  • YY прописная альфа ISO 3166-1 2 кода, указывающие на страну.

  • xx строчный ISO 639-1 двухбуквенный код, указывающий на язык.

Для списка общих значений для локали смотрите Locale аргумент пары "имя-значение" для datetime функция.

При использовании %D спецификатор формата, чтобы считать текст как datetime значения, используйте DateLocale задавать локаль, в которой функция импорта должна интерпретировать имена месяца и дня недели и сокращения.

Если вы задаете DateLocale аргумент в дополнение к opts настройки импорта, затем функция импорта использует заданное значение для DateLocale аргумент, заменяя локаль задан в настройках импорта.

Пример: 'DateLocale','ja_JP'

Схема кодировки символов, сопоставленная с файлом в виде разделенной запятой пары, состоящей из 'Encoding' и 'system' или имя схемы кодирования стандартного символа. Когда вы не задаете кодирования, readtable функционируйте использует автоматическое обнаружение набора символов, чтобы определить кодирование при чтении файла.

Если вы задаете 'Encoding' аргумент в дополнение к настройкам импорта, затем readtable функционируйте использует заданное значение для 'Encoding', переопределение кодирования задано в настройках импорта.

Пример: 'Encoding','UTF-8' использование UTF-8 как кодирование.

Пример: 'Encoding','system' использует кодирование системного значения по умолчанию.

Типы данных: char | string

Тип выходных данных данных о длительности из текстовых файлов в виде разделенной запятой пары, состоящей из 'DurationType' и любой 'duration' или 'text'.

ЗначениеВведите для импортированных данных о длительности
'duration'

MATLAB duration тип данных

Для получения дополнительной информации смотрите duration.

'text'

Если 'DurationType' задан как 'text', затем тип для импортированных данных о длительности зависит от значения, заданного в 'TextType' параметр:

  • Если 'TextType' ischar, затем функция импорта возвращает данные о длительности как массив ячеек из символьных векторов.

  • Если 'TextType' isstring, затем функция импорта возвращает данные о длительности как массив строк.

Типы данных: char | string

Тип выходных данных шестнадцатеричных данных в виде разделенной запятой пары, состоящей из 'HexType' и одно из перечисленных в таблице значений.

Входной файл представляет шестнадцатеричные значения как текст, с помощью любого 0x или 0X как префикс и символы 0-9AF, и AF как цифры. (Прописные и строчные буквы представляют те же цифры — например, '0xf' и '0xF' оба представляют 15.)

Функция импорта преобразует шестнадцатеричные значения в тип данных, заданный значением 'HexType'.

Значение 'HexType'

Тип данных Выходных табличных переменных

'auto'

тип данных обнаруживается автоматически

'text'

неизменный входной текст

'int8'

8-битное целое число, подписанное

'int16'

16-битное целое число, подписанное

'int32'

32-битное целое число, подписанное

'int64'

64-битное целое число, подписанное

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-битное целое число, без знака

'uint64'

64-битное целое число, без знака

Пример: 'HexType','uint16' преобразует текст, представляющий шестнадцатеричные значения (такие как '0xFF') до 16-битных целых чисел без знака (таких как 255) в выходной таблице.

Типы данных: char | string

Тип выходных данных двоичных данных в виде разделенной запятой пары, состоящей из 'BinaryType' и одно из перечисленных в таблице значений.

Входной файл представляет двоичные значения как текст, с помощью любого 0b или 0B как префикс и символы 0 и 1 как цифры.

Функция импорта преобразует двоичные значения в тип данных, заданный значением 'BinaryType'.

Значение 'BinaryType'

Тип данных Выходных табличных переменных

'auto'

тип данных обнаруживается автоматически

'text'

неизменный входной текст

'int8'

8-битное целое число, подписанное

'int16'

16-битное целое число, подписанное

'int32'

32-битное целое число, подписанное

'int64'

64-битное целое число, подписанное

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-битное целое число, без знака

'uint64'

64-битное целое число, без знака

Пример: 'BinaryType','uint16' преобразует текст, представляющий двоичные значения (такие как '0b11111111') до 16-битных целых чисел без знака (таких как 255) в выходной таблице.

Типы данных: char | string

Удалите нечисловые символы из числовой переменной в виде логического true или false.

Пример: Если пара "имя-значение" задана как 'TrimNonNumeric',true, затем функция импорта читает '$500/-' как 500.

Типы данных: логический

Файлы электронной таблицы только

свернуть все

Рабочий лист, чтобы читать в виде разделенной запятой пары, состоящей из 'Sheet' и положительное целое число, указывающее на индекс рабочего листа или вектор символов или строку, содержащую имя рабочего листа. Имя рабочего листа не может содержать двоеточие (:). Чтобы определить имена листов в файле электронной таблицы, используйте sheets = sheetnames(filename). Для получения дополнительной информации смотрите sheetnames.

Если вы задаете Sheet аргумент в дополнение к opts настройки импорта, затем readtable функционируйте использует заданное значение для Sheet аргумент, заменяя имя листа задан в настройках импорта.

Пример: 'Sheet', 2

Пример: 'Sheet', 'MySheetName'

Пример: 'Sheet', "MySheetName"

Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Фрагмент рабочего листа, чтобы читать, обозначенный как прямоугольная площадь, определенная запятой разделенная пара, состоящая из 'Range' и вектор символов или строковый скаляр в одной из следующих форм.

Способы задать Range Описание
  

'Cell' или [row col]

Запуск ячейки

Задайте стартовую ячейку для данных как вектор символов или строковый скаляр или два элемента числовой вектор.

  • Вектор символов или строковый скаляр, содержащий букву столбца и номер строки с помощью Excel A1 обозначение. Например, A5 идентификатор для ячейки на пересечении столбца A и строка 5.

  • Два элемента числовой вектор из формы [row col] указание на стартовую строку и столбец.

Используя стартовую ячейку, функция импорта автоматически обнаруживает степень данных путем начала импорта в ячейке запуска и окончания в последней пустой строке или области значений нижнего колонтитула.

Пример: 'A5' или [5 1]

'Corner1:Corner2'

Прямоугольная область значений

Укажите диапазон с помощью синтаксиса 'Corner1:Corner2', где Corner1 и Corner2 два противостоящих угла, которые задают область. Например, 'D2:H4' представляет прямоугольную область 3 на 5 между этими двумя углами D2 и H4 на рабочем листе. 'Range' аргумент пары "имя-значение" не является чувствительным к регистру, и использует стиль ссылки Excel A1 (см. справку Excel).

Пример: 'Range','Corner1:Corner2'

''

Незаданный или пустой

Если незаданный, readtable автоматически обнаруживает используемую область значений.

Пример: 'Range',''

Примечание: Используемая Область значений относится к прямоугольному фрагменту электронной таблицы, которая на самом деле содержит данные. readtable автоматически обнаруживает используемую область значений путем обрезки любых начальных и конечных строк и столбцов, которые не содержат данные. Текст, который является только пробелом, рассматривается данными и получен в используемой области значений.

'Row1:Row2'

Область значений строки

Можно идентифицировать область значений путем определения начала и конечного использования строк указатели строки Excel. Затем readtable автоматически обнаруживает используемую область значений столбца в обозначенных строках. Например, readtable интерпретирует спецификацию области значений '1:7' как инструкция считать все столбцы в используемой области значений в строках 1 - 7 (включительно).

Пример: 'Range','1:7'

'Column1:Column2'

Область значений столбца

Можно идентифицировать область значений путем определения начала и конечного использования столбцов указатели столбца Excel. Затем readtable автоматически обнаруживает используемую область значений строки в рамках обозначенных столбцов. Например, readtable интерпретирует спецификацию области значений 'A:F' как инструкция считать все строки в используемой области значений в столбцах A через F (включительно).

Пример: 'Range','A:F'

'NamedRange'

Именованная область значений Excel

В Excel можно создать имена, чтобы идентифицировать области значений в электронной таблице. Например, можно выбрать прямоугольный фрагмент электронной таблицы и вызвать ее 'myTable'. Если такие именованные области значений существуют в электронной таблице, то readtable может считать ту область значений с помощью ее имени.

Пример: 'Range','myTable'

Пример: 'Range', 'A1:F10'

Пример: 'Range', "A1:F10"

Типы данных: char | string

Отметьте, чтобы запустить экземпляр Microsoft Excel для Windows при чтении данных об электронной таблице в виде разделенной запятой пары, состоящей из 'UseExcel' и любой true, или false.

Можно установить 'UseExcel' параметр к одному из этих значений:

  • true — Функция импорта запускает экземпляр Microsoft Excel при чтении файла.

  • false — Функция импорта не запускает экземпляр Microsoft Excel при чтении файла. При работе в этом режиме функциональность функции импорта отличается в поддержку форматов файлов и интерактивных функций, таких как формулы и макросы.

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

Когда чтение из файлов электронной таблицы на платформах Windows, если вы хотите запустить экземпляр Microsoft Excel, затем установило 'UseExcel' параметр к true.

Выходные аргументы

свернуть все

Выведите таблицу, возвращенную как таблица. Таблица может сохранить метаданные, такие как описания, переменные модули, имена переменных и имена строки. Для получения дополнительной информации смотрите раздел Properties table.

Советы

  • Большие файлы в формате XLSX иногда медленно загружают. Для лучшей эффективности импорта и экспорта Microsoft рекомендует, чтобы вы использовали формат XLSB.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Введенный в R2013b