Прочитать матрицу из файла матлаб
M = dlmread( filename ) читает разграниченный ASCII файл числовых данных в матричный M . dlmread функция обнаруживает разделитель из файла и обрабатывает повторенные пробелы как один разделитель.
M = dlmread( filename , delimiter ) считывает данные из файла с помощью заданного разделителя и обрабатывает повторенные символы-разделители как отдельные разделители.
M = dlmread( filename , delimiter , R1 , C1 ) начинает читать при смещении строки R1 и столбец возместил C1 . Например, смещения R1=0 , C1=0 задайте первое значение в файле.
Чтобы задать смещения строки и столбца, не задавая разделитель, используйте пустой символ в качестве заполнителя, например, M = dlmread(filename,'',2,1) .
M = dlmread( filename , delimiter ,[ R1 C1 R2 C2 ]) чтения только область значений, ограниченная строкой, возмещают R1 и R2 и столбец возмещает C1 и C2 . Другой способ задать область значений состоит в том, чтобы использовать обозначение электронной таблицы, такое как 'A1..B7' вместо [0 0 6 1] .
Примеры
Чтение целого разграниченного файла
Считайте файл примера, count.dat .
dlmread обнаруживает разделитель из файла и возвращает матрицу.
Чтение файла, содержащего пустые разграниченные поля
Запишите две матрицы в файл, и затем считайте целый файл с помощью dlmread .
Экспортируйте матрицу в файл с именем myfile.txt . Затем добавьте дополнительную матрицу к файлу, который возмещен одна строка ниже первого.
Просмотрите содержимое файла.
Считайте целый файл с помощью dlmread .
Когда dlmread импортирует файл, содержащий непрямоугольные данные, это заполняет пустые поля нулями.
Чтение разграниченного файла, запускающегося при определенном смещении строки и столбца
Создайте файл с именем dlmlist.txt это содержит заголовки столбцов и разграниченные пробелом значения.
Считайте числовые значения в файле. Задайте разделитель пробела, смещение строки 1 и смещение столбца 0.
Чтение определенного диапазона от разграниченного файла
Создайте файл с именем dlmlist.txt это содержит заголовки столбцов и разграниченные пробелом значения.
Только для чтения последние две строки числовых данных из файла.
filename FileName
вектор символов | строка
Имя файла в виде вектора символов или строки.
Пример: 'myFile.dat' или "myFile.dat"
Типы данных: char | string
delimiter — Символ разделителя полей
вектор символов | строка
Символ разделителя полей в виде вектора символов или строки. Используйте '\t' задавать разделитель табуляции.
Пример: ',' или ","
Пример: ' ' или " "
Типы данных: char | string
R1 — Стартовая строка возмещена
0 (значений по умолчанию) | неотрицательное целое число
Стартовая строка возмещена в виде неотрицательного целого числа. Первая строка имеет смещение 0.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
C1 — Стартовый столбец возмещен
0 (значений по умолчанию) | неотрицательное целое число
Стартовый столбец возмещен в виде неотрицательного целого числа. Первый столбец имеет смещение 0.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
R2 — Конечная строка возмещена
неотрицательное целое число
Конечная строка возмещена в виде неотрицательного целого числа. Первая строка имеет смещение 0.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
C2 — Конечный столбец возмещен
неотрицательное целое число
Конечный столбец возмещен в виде неотрицательного целого числа. Первый столбец имеет смещение 0.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Советы
Пропустите строки заголовков или столбцы путем определения смещений строки и столбца. Все значения в файле кроме заголовков должны быть числовыми.
Алгоритмы
dlmread заливки пустые разграниченные поля с нулем. Когда dlmread функционируйте файлы данных чтений с линиями, которые заканчиваются разделителем непробела, таким как точка с запятой, это возвращает матрицу, M , это имеет дополнительный последний столбец нулей.
dlmread импорт любое комплексное число в целом в комплексное числовое поле. Эта таблица показывает допустимые формы для комплексного числа.
Встроенный пробел в комплексном числе недопустим и dlmread отношения это как разделитель полей.
Вопросы совместимости
dlmread не рекомендуется
Не рекомендуемый запуск в R2019a
dlmread не рекомендуется. Использование readmatrix вместо этого. Нет никаких планов удалить dlmread .
При запуске в R2019a используйте readmatrix функционируйте, чтобы считать матрицу из разделенного текстового файла. readmatrix функция имеет эти преимущества перед dlmread функция:
Лучше кросс-платформенная поддержка и эффективность
Автоматическое обнаружение формата данных и типов
Способность использовать настройки импорта, чтобы управлять данными импортирует процесс, включая обработку ошибок и недостающих данных
Эта таблица показывает типичные использования dlmread и как обновить ваш код, чтобы использовать readmatrix вместо этого.
Смотрите также
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
© 1994-2021 The MathWorks, Inc.
Для просмотра документации необходимо авторизоваться на сайтеВойти
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
A = readmatrix( filename ) creates an array by reading column-oriented data from a file. The readmatrix function performs automatic detection of import parameters for your file.
readmatrix determines the file format from the file extension:
.txt , .dat , or .csv for delimited text files
.xls , .xlsb , .xlsm , .xlsx , .xltm , .xltx , or .ods for spreadsheet files
For files containing mixed numeric and text data, readmatrix imports the data as a numeric array by default.
A = readmatrix( filename , opts ) additionally uses the import options opts .
A = readmatrix( ___ , Name,Value ) creates an array from a file with additional options specified by one or more name-value pair arguments. Use any of the input arguments from the previous syntaxes before specifying the name-value pairs.
To set specific import options for your data, you can either use the opts object or you can specify name-value pairs. When you specify name-value pairs in addition to opts , then readmatrix supports only these name-value pairs:
Examples
Read Matrix from Text File
Display the contents of basic_matrix.txt and then import the data into a matrix.
Read Matrix from Spreadsheet File
Import numeric data from basic_matrix.xls into a matrix.
Read Matrix from Specified Sheet and Range Using Import Options
Preview the data from a spreadsheet file and import numerical data as a matrix from a specified sheet and range.
The spreadsheet file airlinesmall_subset.xlsx contains data in multiple worksheets for years between 1996 and 2008. Each worksheet has data for a given year. Preview the data from file airlinesmall_subset.xlsx . The preview function shows data from the first worksheet by default. The first eight variables in the file contain numerical data.
Configure the values in the opts object to import 10 rows for the first five variables from the worksheet named '2007' .
Read Matrix from Specified Sheet and Range
Preview the data from a spreadsheet file and import numerical data, as a matrix, from a specified sheet and range.
The spreadsheet file airlinesmall_subset.xlsx contains data in multiple worksheets for years between 1996 and 2008. Each worksheet has data for a given year. Preview the data from file airlinesmall_subset.xlsx . The preview function shows data from the first worksheet by default. The first eight variables in the file contain numerical data.
Import 10 rows of the first 5 variables from the worksheet named '2007' .
Input Arguments
Name of the file to read, specified as a character vector or a string scalar.
Depending on the location of your file, filename can take on one of these forms.
Specify the name of the file in filename .
Example: 'myFile.txt'
File in a folder
If the file is not in the current folder or in a folder on the MATLAB path, then specify the full or relative path name in filename .
Example: 'C:\myFolder\myFile.xlsx'
Example: 'dataDir\myFile.txt'
If the file is stored at a remote location, then filename must contain the full path of the file specified with the form:
scheme_name :// path_to_file / my_file.ext
Based on the remote location, scheme_name can be one of the values in this table.
For more information, see Work with Remote Data.
Example: 's3://bucketname/path_to_file/my_file.csv'
If filename includes the file extension, then the importing function determines the file format from the extension. Otherwise, you must specify the 'FileType' name-value pair arguments to indicate the type of file.
For delimited text files, the importing function converts empty fields in the file to either NaN (for a numeric variable) or an empty character vector (for a text variable). All lines in the text file must have the same number of delimiters. The importing function ignores insignificant white space in the file.
Data Types: char | string
File import options, specified as an SpreadsheetImportOptions , DelimitedTextImportOptions , FixedWidthImportOptions , or XMLImportOptions object created by the detectImportOptions function. The opts object contains properties that control the data import process. For more information on the properties of each object, see the appropriate object page.
Type of Files | Output |
---|---|
Spreadsheet files | SpreadsheetImportOptions object (only available for the Sheet , DataRange , and VariableNames properties) |
Text files | DelimitedTextImportOptions object |
Fixed-width text files | FixedWidthImportOptions object |
XML files | XMLImportOptions object |
Name-Value Arguments
Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1. NameN,ValueN .
Example: 'NumHeaderLines',5 indicates that the first five lines that precede the tabular data are header lines.
Type of file, specified as the comma-separated pair consisting of 'FileType' and 'text' or 'spreadsheet' .
Specify the 'FileType' name-value pair argument when the filename does not include the file extension or if the extension is other than one of the following:
.txt , .dat , or .csv for delimited text files
.xls , .xlsb , .xlsm , .xlsx , .xltm , .xltx , or .ods for spreadsheet files
Example: 'FileType','text'
Data Types: char | string
Number of header lines in the file, specified as the comma-separated pair consisting of 'NumHeaderLines' and a positive integer. If unspecified, the importing function automatically detects the number of header lines in the file.
Example: 'NumHeaderLines',7
Data Types: single | double
Expected number of variables, specified as the comma-separated pair consisting of 'ExpectedNumVariables' and a positive integer. If unspecified, the importing function automatically detects the number of variables.
Data Types: single | double
Portion of the data to read from text or spreadsheet files, specified as the comma separated pair consisting of 'Range' and a character vector, string scalar, or numeric vector in one of these forms.
'Cell' or [row col]
Specify the starting cell for the data as a character vector or string scalar or a two element numeric vector.
Character vector or string scalar containing a column letter and row number using Excel A1 notation. For example, A5 is the identifier for the cell at the intersection of column A and row 5 .
Two element numeric vector of the form [row col] indicating the starting row and column.
Using the starting cell, the importing function automatically detects the extent of the data by beginning the import at the start cell and ending at the last empty row or footer range.
Example: 'A5' or [5 1]
'Corner1:Corner2' or [r1 c1 r2 c2]
Specify the exact range to read using the rectangular range in one of these forms.
The importing function only reads the data contained in the specified range. Any empty fields within the specified range are imported as missing cells.
Row Range or Column Range
'Row1:Row2' or 'Column1:Column2'
Specify the range by identifying the beginning and ending rows using Excel row numbers.
Using the specified row range, the importing function automatically detects the column extent by reading from the first nonempty column to the end of the data, and creates one variable per column.
Example: '5:500'
Alternatively, specify the range by identifying the beginning and ending columns using Excel column letters or numbers.
Using the specified column range, the import function automatically detects the row extent by reading from the first nonempty row to the end of the data or the footer range.
The number of columns in the specified range must match the number specified in the ExpectedNumVariables property.
Example: 'A:K'
Starting Row Number
Specify the first row containing the data using the positive scalar row index.
Using the specified row index, the importing function automatically detects the extent of the data by reading from the specified first row to the end of the data or the footer range.
Example: 5
Excel’s Named Range
In Excel, you can create names to identify ranges in the spreadsheet. For instance, you can select a rectangular portion of the spreadsheet and call it 'myTable' . If such named ranges exist in a spreadsheet, then the importing function can read that range using its name.
Example: 'Range','myTable'
Unspecified or Empty
If unspecified, the importing function automatically detects the used range.
Example: 'Range',''
Note: Used Range refers to the rectangular portion of the spreadsheet that actually contains data. The importing function automatically detects the used range by trimming any leading and trailing rows and columns that do not contain data. Text that is only white space is considered data and is captured within the used range.
Data Types: char | string | double
Text to interpret as missing data, specified as a character vector, string scalar, cell array of character vectors, or string array.
Example: 'TreatAsMissing', instructs the importing function to treat any occurrence of NA or TBD as a missing fields.
Data Types: char | string | cell
Output data type, specified as the comma-separated pair consisting of 'OutputType' and a character vector or string scalar containing name of any of the data types in this table.
Type of Data | Output data type |
---|---|
Numeric | 'uint8' , 'int8' , 'int16' , 'int32' , 'int64' , 'uint16' , 'uint32' , 'uint64' , 'single' , or 'double' |
Text | 'char' or 'string' |
Other types | 'datetime' , 'duration' , or 'categorical' |
Example: 'OutputType','uint8'
Data Types: char | string
Field delimiter characters in a delimited text file, specified as a character vector, string scalar, cell array of character vectors, or string array.
Example: 'Delimiter','|'
Example: 'Delimiter',
Data Types: char | string | cell
Characters to treat as white space, specified as a character vector or string scalar containing one or more characters.
Example: 'Whitespace',' _'
Example: 'Whitespace','. '
End-of-line characters, specified as a character vector, string scalar, cell array of character vectors, or string array.
Example: 'LineEnding','\n'
Example: 'LineEnding','\r\n'
Example: 'LineEnding',
Data Types: char | string | cell
Style of comments, specified as a character vector, string scalar, cell array of character vectors, or string array.
For example, to ignore the text following a percent sign on the same line, specify CommentStyle as '%' .
Example: 'CommentStyle',
Data Types: char | string | cell
Character encoding scheme associated with the file, specified as the comma-separated pair consisting of 'Encoding' and 'system' or a standard character encoding scheme name. When you do not specify any encoding, the readmatrix function uses automatic character set detection to determine the encoding when reading the file.
If you specify the 'Encoding' argument in addition to the import options, then the readmatrix function uses the specified value for 'Encoding' , overriding the encoding defined in the import options.
Example: 'Encoding','UTF-8' uses UTF-8 as the encoding.
Example: 'Encoding','system' uses the system default encoding.
Data Types: char | string
YY is an uppercase ISO 3166-1 alpha-2 code indicating a country.
xx is a lowercase ISO 639-1 two-letter code indicating a language.
This table lists some common values for the locale.
Locale | Language | Country |
---|---|---|
'de_DE' | German | Germany |
'en_GB' | English | United Kingdom |
'en_US' | English | United States |
'es_ES' | Spanish | Spain |
'fr_FR' | French | France |
'it_IT' | Italian | Italy |
'ja_JP' | Japanese | Japan |
'ko_KR' | Korean | Korea |
'nl_NL' | Dutch | Netherlands |
'zh_CN' | Chinese (simplified) | China |
When using the %D format specifier to read text as datetime values, use DateLocale to specify the locale in which the importing function should interpret month and day-of-week names and abbreviations.
If you specify the DateLocale argument in addition to opts the import options, then the importing function uses the specified value for the DateLocale argument, overriding the locale defined in the import options.
Example: 'DateLocale','ja_JP'
Characters indicating the decimal separator in numeric variables, specified as a character vector or string scalar. The importing function uses the characters specified in the DecimalSeparator name-value pair to distinguish the integer part of a number from the decimal part.
When converting to integer data types, numbers with a decimal part are rounded to the nearest integer.
Example: If name-value pair is specified as 'DecimalSeparator',',' , then the importing function imports the text "3,14159" as the number 3.14159 .
Data Types: char | string
Characters that indicate the thousands grouping in numeric variables, specified as a character vector or string scalar. The thousands grouping characters act as visual separators, grouping the number at every three place values. The importing function uses the characters specified in the ThousandsSeparator name-value pair to interpret the numbers being imported.
Example: If name-value pair is specified as 'ThousandsSeparator',',' , then the importing function imports the text "1,234,000" as 1234000 .
Data Types: char | string
Remove nonnumeric characters from a numeric variable, specified as a logical true or false .
Example: If name-value pair is specified as 'TrimNonNumeric',true , then the importing function reads '$500/-' as 500 .
Data Types: logical
Procedure to handle consecutive delimiters in a delimited text file, specified as one of the values in this table.
Consecutive Delimiters Rule | Behavior |
---|---|
'split' | Split the consecutive delimiters into multiple fields. |
'join' | Join the delimiters into one delimiter. |
'error' | Return an error and abort the import operation. |
Data Types: char | string
Procedure to manage leading delimiters in a delimited text file, specified as one of the values in this table.
Leading Delimiters Rule | Behavior |
---|---|
'keep' | Keep the delimiter. |
'ignore' | Ignore the delimiter. |
'error' | Return an error and abort the import operation. |
Procedure to manage trailing delimiters in a delimited text file, specified as one of the values in this table.
Leading Delimiters Rule | Behavior |
---|---|
'keep' | Keep the delimiter. |
'ignore' | Ignore the delimiter. |
'error' | Return an error and abort the import operation. |
Sheet to read from, specified as an empty character array, a character vector or string scalar containing the sheet name, or a positive scalar integer denoting the sheet index. Based on the value specified for the Sheet property, the import function behaves as described in the table.
Specification | Behavior |
---|---|
'' (default) | Import data from the first sheet. |
Name | Import data from the matching sheet name, regardless of order of sheets in the spreadsheet file. |
Integer | Import data from sheet in the position denoted by the integer, regardless of the sheet names in the spreadsheet file. |
Data Types: char | string | single | double
Flag to start an instance of Microsoft Excel for Windows when reading spreadsheet data, specified as the comma-separated pair consisting of 'UseExcel' and either true , or false .
You can set the 'UseExcel' parameter to one of these values:
.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods
.xls, .xlsx, .xlsm, .xltx, .xltm
Support for interactive features, such as formulas and macros
When reading from spreadsheet files on Windows platforms, if you want to start an instance of Microsoft Excel , then set the 'UseExcel' parameter to true .
A = fread( fileID ) reads data from an open binary file into column vector A and positions the file pointer at the end-of-file marker. The binary file is indicated by the file identifier, fileID . Use fopen to open the file and obtain the fileID value. When you finish reading, close the file by calling fclose(fileID) .
A = fread( fileID , sizeA ) reads file data into an array, A , with dimensions, sizeA , and positions the file pointer after the last value read. fread populates A in column order.
A = fread( fileID , precision ) interprets values in the file according to the form and size described by precision .
A = fread( fileID , sizeA , precision ) reads file data into an array, A , with dimensions, sizeA , and positions the file pointer after the last value read. fread populates A in column order. Values are interpreted in the file according to the form and size described by precision .
A = fread( ___ , skip ) skips the number of bytes or bits specified by skip after reading each value in the file.
A = fread( ___ , machinefmt ) additionally specifies the order for reading bytes or bits in the file.
[ A , count ] = fread( ___ ) additionally returns the number of characters that fread reads into A . You can use this syntax with any of the input arguments of the previous syntaxes.
Examples
Read Entire File of uint8 Data
Write a nine-element vector to a sample file, nine.bin .
fread returns a column vector, with one element for each byte in the file.
View information about A .
Read Entire File of Double-Precision Data
Create a file named doubledata.bin , containing nine double-precision values.
Open the file, doubledata.bin , and read the data in the file into a 3-by-3 array, A . Specify that the source data is class double .
Read Selected Rows or Columns from File
Create a file named nine.bin , containing the values from 1 to 9. Write the data as uint16 values.
Read the first six values into a 3-by-2 array. Specify that the source data is class uint16 .
fread returns an array populated column-wise with the first six values from the file, nine.bin .
Return to the beginning of the file.
Read two values at a time, and skip one value before reading the next values. Specify this format using the precision value, '2*uint16' . Because the data is class uint16 , one value is represented by 2 bytes. Therefore, specify the skip argument as 2 .
fread returns a 2-by-3 array populated column-wise with the values from nine.bin .
Read Digits of Binary Coded Decimal Values
Create a file with binary coded decimal (BCD) values.
Read 1 byte at a time.
Display the BCD values.
Return to the beginning of the file using frewind . If you read 4 bits at a time on a little-endian system, your results appear in the wrong order.
Return to the beginning of the file using frewind . Read the data 4 bits at a time as before, but specify a big-endian ordering to display the correct results.
Input Arguments
File identifier of an open binary file, specified as an integer. Before reading a file with fread , you must use fopen to open the file and obtain the fileID .
Data Types: double
Dimensions of the output array, A , specified as Inf , an integer, or a two-element row vector.
Form of the sizeA Input | Dimensions of the output array, A |
---|---|
Inf | Column vector, with each element containing a value in the file. |
n | Column vector with n elements. |
[m,n] | m -by- n matrix, filled in column order. n can be Inf , but m cannot. |
Class and size in bits of the values to read, specified as a character vector or a string scalar in one of the following forms. Optionally the input specifies the class of the output matrix, A .
Read N values before skipping the number of bytes specified by the skip argument.
Example: '4*int8'
The following table shows possible values for source and output .
For most values of source , if fread reaches the end of the file before reading a complete value, it does not return a result for the final value. However, if source is bit n or ubit n , then fread returns a partial result for the final value.
Note
To preserve NaN and Inf values in MATLAB, read and write data of class double or single .
Data Types: char | string
Number of bytes to skip after reading each value, specified as a scalar. If you specify a precision of bit n or ubit n , specify skip in bits.
Use the skip argument to read data from noncontiguous fields in fixed-length records.
Order for reading bytes in the file, specified as a character vector or a string scalar. Specify machinefmt as one of the values in the table that follows. For bit n and ubit n precisions, machinefmt specifies the order for reading bits within a byte, but the order for reading bytes remains your system byte ordering.
Your system byte ordering (default)
Big-endian ordering, 64-bit long data type
Little-endian ordering, 64-bit long data type
By default, all currently supported platforms use little-endian ordering for new files. Existing binary files can use either big-endian or little-endian ordering.
Data Types: char | string
Output Arguments
File data, returned as a column vector. If you specified the sizeA argument, then A is a matrix of the specified size. Data in A is class double unless you specify a different class in the precision argument.
Number of characters read, returned as a scalar value.
Extended Capabilities
Usage notes and limitations:
The input argument precision must be a constant.
The source and output classes that precision specifies cannot have these values: 'long' , 'ulong' , 'unsigned long' , 'bit n ' , or 'ubit n ' .
You cannot use the machinefmt input.
If the source or output that precision specifies is a C type, for example, int , then the target and production sizes for that type must:
Map directly to a MATLAB type.
The source type that precision specifies must map directly to a C type on the target hardware.
If the fread call reads the entire file, then all of the data must fit in the largest array available for code generation.
If sizeA is not constant or contains a nonfinite element, then dynamic memory allocation is required.
The code generator for the fread function treats the char value for source or output as a signed 8 -bit integer. Use values between 0 and 127 only.
The generated code does not report file read errors. Therefore, you must write your own file read error handling in your MATLAB code. In your error handling code, consider checking that the number of bytes read matches the number of bytes that you requested. For example:
A = fscanf( fileID , formatSpec ) считывает данные из открытого текстового файла в вектор-столбец A и интерпретирует значения в файле согласно формату, заданному formatSpec . fscanf функция повторно применяет формат в целом файле и располагает указатель файла в конце маркера. Если fscanf не может совпадать с formatSpec к данным это читает только фрагмент, который совпадает и прекращает обрабатывать.
Текстовый файл обозначается идентификатором файла, fileID Использование fopen чтобы открыть файл, задайте кодировку символов и получите fileID значение. Когда вы закончили читать, закрываете файл путем вызова fclose(fileID) .
A = fscanf( fileID , formatSpec , sizeA ) считывает данные о файле в массив, A , с размерностями, sizeA , и положения указатель файла после последнего чтения значения. fscanf заполняет A в порядке следования столбцов. sizeA должен быть положительное целое число или иметь форму [m n] , где m и n положительные целые числа.
[ A , count ] = fscanf( ___ ) дополнительно возвращает количество полей это fscanf чтения в A . Для числовых данных это - количество чтения значений. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.
Примеры
Чтение содержимого файла в вектор - столбец
Создайте демонстрационный текстовый файл, который содержит числа с плавающей запятой.
Просмотрите содержимое файла.
Откройте файл для чтения и получите идентификатор файла, fileID .
Задайте формат данных, чтобы читать. Используйте '%f' задавать числа с плавающей запятой.
Считайте данные о файле, заполнив выходной массив, A , в порядке следования столбцов. fscanf повторно применяет формат, formatSpec , в файле.
A вектор-столбец, содержащий данные из файла.
Чтение содержимого файла в массив
Создайте демонстрационный текстовый файл, который содержит целые числа и числа с плавающей запятой.
Просмотрите содержимое файла.
Откройте файл для чтения и получите идентификатор файла, fileID .
Задайте формат данных, чтобы читать и форма выходного массива.
Считайте данные о файле, заполнив выходной массив, A , в порядке следования столбцов. fscanf снова использует формат, formatSpec , в файле.
Транспонируйте массив так, чтобы A совпадает с ориентацией данных в файле.
Пропуск определенных символов в файле
Пропустите определенные символы в файле примера и возвратите только числовые данные.
Создайте демонстрационный текстовый файл, содержащий температурные значения.
Считайте числа в файле, пропустив текст, °C. Также возвратите количество значений что fscanf чтения. Расширенный код ASCII 176 представляет знак степени.
A вектор, содержащий числовые значения в файле. count указывает на тот fscanf считайте пять значений.
fileID — Идентификатор файла
целое число
Идентификатор файла открытого текстового файла в виде целого числа. Прежде, чем считать файл с fscanf , необходимо использовать fopen открыть файл и получить fileID .
Типы данных: double
formatSpec — Формат полей данных
вектор символов | строковый скаляр
Формат полей данных в файле в виде вектора символов или строкового скаляра одного или нескольких спецификаторов преобразования. Когда fscanf читает файл, он пытается совпадать с данными к формату, заданному formatSpec .
Numeric Fields
Эта таблица приводит доступные спецификаторы преобразования для числовых входных параметров. fscanf преобразует значения в их десятичное число (базируйтесь 10), представление.
Целое число, со знаком
Значения в файле определяют основу:
Значение по умолчанию основное 10.
Если начальными цифрами является 0x или 0X , затем значения являются шестнадцатеричными (базируйтесь 16).
Если начальной цифрой является 0 , затем значения являются восьмеричными (базируйтесь 8).
64-битные значения, основа 10, 8, или 16
Целое число, без знака
Базируйтесь 8 (восьмеричный)
Базируйтесь 16 (шестнадцатеричный)
64-битные значения, основа 10, 8, или 16
Число с плавающей запятой
Поля с плавающей точкой могут содержать любое из следующих (не чувствительный к регистру): Inf Inf NaN , или -NaN .
Character Fields
Эта таблица приводит доступные спецификаторы преобразования для символьных входов.
Вектор символов или строковый скаляр
Считайте все символы, исключая пробелы.
Считайте любой отдельный символ, включая пробел.
Чтобы считать несколько символов за один раз, задайте ширину поля.
Сопоставление с образцом
Символы только для чтения в скобках до первого символа несоответствия или пробела.
Пример: %[mus] чтения 'summer ' как 'summ' .
Если formatSpec содержит комбинацию числовых и символьных спецификаторов, затем fscanf преобразует каждый символ в его числовой эквивалент. Это преобразование происходит, даже когда формат явным образом пропускает все числовые значения (например, formatSpec '%*d %s' ).
Optional Operators
Поля и символы, чтобы проигнорировать
fscanf чтения все числовые значения и символы в вашем файле в последовательности, если вы не говорите ему игнорировать конкретное поле или фрагмент поля. К полям игнорируемых данных вставьте звездочку ( * ) после знака процента ( % ). Например, чтобы пропустить целые числа, задайте %*d .
Чтобы задать максимальное количество цифр или текстовых символов, чтобы читать за один раз, вставьте номер после символа процента. Например, %10c чтения до 10 символов за один раз, включая пробел. %4f чтения до 4 цифр за один раз, включая десятичную точку.
Буквенный текст, чтобы проигнорировать
fscanf игнорирует заданный текст, добавленный к formatSpec спецификатор преобразования.
Читайте также: