readcell
ファイルからの cell 配列の読み取り
説明
C = readcell(
は、ファイルから列方向のデータを読み取ることにより cell 配列を作成します。filename
)
readcell
は、ファイル拡張子からファイル形式を判定します。
区切りテキスト ファイルの場合、
.txt
、.dat
または.csv
スプレッドシート ファイルの場合、
.xls
、.xlsb
、.xlsm
、.xlsx
、.xltm
,.xltx
または.ods
C = readcell(___,
は、1 つ以上の名前と値のペアの引数で指定された追加のオプションを使用して、ファイルから cell 配列を作成します。名前と値のペアを指定する前に、前述の構文の入力引数のいずれかを使用してください。Name,Value
)
データ特有のインポート オプションを設定するには、opts
オブジェクトを使用するか、名前と値のペアを指定できます。opts
に加えて名前と値のペアを指定する場合、readcell
がサポートするのは次の名前と値のペアのみです。
テキスト ファイル —
DateLocale
、Encoding
スプレッドシート ファイル —
Sheet
、UseExcel
例
テキスト ファイルからの表形式データの cell 配列への読み取り
basic_cell.txt
の内容を表示し、混合データを cell 配列にインポートします。
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}
スプレッドシートからの表形式データの cell 配列への読み取り
表形式の混合データを basic_cell.xls
から cell 配列にインポートします。
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}
特定のシートおよび範囲からの cell 配列の読み取り
スプレッドシート ファイルのデータをプレビューし、特定のシートおよび範囲から混合データを cell 配列にインポートします。
スプレッドシート ファイル 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
の 10 行のデータをインポートします。Excel® の範囲 'G2:I11'
は、列 7
~ 9
と、変数名の後の行 2
から始まる 10 行を表します。
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'}
入力引数
filename
— 読み取るファイルの名前
文字ベクトル | string スカラー
読み取るファイルの名前。文字ベクトルまたは string スカラーとして指定します。
ファイルの場所によって、filename
は次のいずれかの形式をとります。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー、または MATLAB® パス上のフォルダー | ファイル名を 例: | ||||||||
フォルダー内のファイル | ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、 例: 例: | ||||||||
インターネット URL | ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、 例: | ||||||||
リモートの場所 | リモートの場所に保存されたファイルの場合、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
filename
にファイル拡張子が含まれる場合、インポート関数は拡張子からファイル形式を判別します。それ以外の場合は、名前と値のペアの引数'FileType'
を指定してファイルの種類を示さなければなりません。Microsoft® Excel® ソフトウェアがインストールされている Windows® システムで、インポート関数は、使用している Excel のバージョンで認識されるすべての Excel スプレッドシート ファイル形式を読み取ります。
システムに Excel for Windows がない場合、または MATLAB Online™ を使用している場合、インポート関数は
UseExcel
プロパティがfalse
に設定されている状態で動作し、.xls, .xlsx, .xlsm, .xltx, and .xltm
ファイルのみを読み取ります。区切りテキスト ファイルの場合、インポート関数はファイル内の空のフィールドを、
NaN
(数値変数の場合) または空の文字ベクトル (テキスト変数の場合) のどちらかに変換します。テキスト ファイルのすべての行には同じ数の区切り記号がなければなりません。インポート関数はファイル内の意味のない空白を無視します。
データ型: char
| string
opts
— ファイル インポート オプション
SpreadsheetImportOptions
| DelimitedtextImportOptions
| FixedWidthImportOptions
| XMLImportOptions
ファイル インポート オプション。関数 detectImportOptions
によって作成された SpreadsheetImportOptions
、DelimitedTextImportOptions
、FixedWidthImportOptions
、または XMLImportOptions
オブジェクトとして指定します。opts
オブジェクトにはデータ インポートのプロセスを制御するプロパティが含まれています。各オブジェクトのプロパティの詳細については、該当するオブジェクトのページを参照してください。
ファイルの種類 | 出力 |
---|---|
スプレッドシート ファイル | SpreadsheetImportOptions オブジェクト (Sheet 、DataRange 、および VariableNames プロパティにのみ使用可能) |
テキスト ファイル | DelimitedTextImportOptions オブジェクト |
固定幅テキスト ファイル | FixedWidthImportOptions オブジェクト |
XML ファイル | XMLImportOptions オブジェクト |
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'NumHeaderLines',5
は、表形式データの前の最初の 5 行がヘッダー行であることを示します。
WebOptions
— HTTP
または HTTPS
要求オプション
weboptions
オブジェクト
HTTP
または HTTPS
要求オプション。weboptions
オブジェクトとして指定します。weboptions
オブジェクトは、指定した filename
がプロトコル タイプ "http://"
または "https://"
を含むインターネット URL である場合にデータをインポートする方式を決定します。
FileType
— ファイルの種類
'text'
| 'spreadsheet'
ファイルの種類。'FileType'
と 'text'
または 'spreadsheet'
で構成されるコンマ区切りのペアとして指定します。
filename
にファイル拡張子が含まれない場合、または次の拡張子以外の場合は、名前と値のペアの引数 'FileType'
を指定します。
区切りテキスト ファイルの場合、
.txt
、.dat
または.csv
スプレッドシート ファイルの場合、
.xls
、.xlsb
、.xlsm
、.xlsx
、.xltm
,.xltx
または.ods
例: 'FileType','text'
データ型: char
| string
NumHeaderLines
— ヘッダーの行数
正の整数
ファイルのヘッダーの行数。'NumHeaderLines'
と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、ファイル ヘッダーの行数はインポート関数により自動検出されます。
例: 'NumHeaderLines',7
データ型: single
| double
ExpectedNumVariables
— 必要な変数の数
正の整数
必要な変数の数。'ExpectedNumVariables'
と正の整数で構成されるコンマ区切りのペアとして指定します。指定しない場合、変数の数はインポート関数により自動検出されます。
データ型: single
| double
Range
— 読み取るデータの部分
文字ベクトル | string スカラー | 数値ベクトル
テキストまたはスプレッドシート ファイルから読み取るデータの部分。'Range'
と、次のいずれかの形式をとる文字ベクトル、string スカラー、または数値ベクトルで構成されるコンマ区切りのペアとして指定します。
Range の指定方法 | 説明 |
---|---|
開始セル
| 文字ベクトル、string スカラー、または 2 要素数値ベクトルとして、データの開始セルを指定します。
開始セルを使用して、インポート関数は、インポートを開始セルで開始し、最後の空の行またはフッター範囲で終了することで、データの範囲を自動的に検出します。 例: |
四角形の範囲
| 次の四角形の範囲フォームのいずれかを使用して、読み取る範囲を正確に指定します。
インポート関数は、指定された範囲内に含まれるデータのみを読み取ります。指定された範囲内の空のフィールドは欠損セルとしてインポートされます。 |
行範囲または列範囲
| Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。 インポート関数は、指定された行範囲を使用して、最初の空でない列からデータの最後まで読み取ることにより、列の範囲を自動的に検出し、列ごとに 1 つの変数を作成します。 例: あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。 インポート関数は、指定された列範囲を使用して、最初の空でない行からデータの最後またはフッター範囲まで読み取ることにより、行の範囲を自動的に検出します。 指定された範囲の列数は 例: |
開始行番号
| 正のスカラー行インデックスを使用して、データを含む最初の行を指定します。 インポート関数は、指定された行インデックスを使用して、指定された最初の行からデータの最後またはフッター範囲まで読み取ることにより、データの範囲を自動的に検出します。 例: |
Excel の名前付き範囲
| Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 例: |
指定なしまたは空
| 指定しない場合、使用範囲はインポート関数により自動検出されます。 例: メモ: "使用範囲" とは、スプレッドシート内で実際にデータが含まれている四角形部分を指します。インポート関数は、データを含まない先頭と末尾の行と列をすべてトリミングして、使用範囲を自動的に検出します。空白のみのテキストはデータと見なされ、使用範囲内に取得されます。 |
データ型: char
| string
| double
TextType
— インポートされるテキスト データの型
'char'
| 'string'
インポートされるテキスト データの型。'TextType'
と 'char'
または 'string'
で構成されるコンマ区切りのペアとして指定します。
'char'
— テキスト データを文字ベクトルとして MATLAB にインポートします。'string'
— テキスト データを string 配列として MATLAB にインポートします。
例: 'TextType','char'
DatetimeType
— インポートされる日付と時刻のデータの型
'datetime'
(既定値) | 'text'
| 'exceldatenum'
(スプレッドシート ファイルのみ)
インポートされる日付と時刻のデータの型。'DatetimeType'
と、'datetime'
、'text'
、'exceldatenum'
のいずれかの値で構成されるコンマ区切りのペアとして指定します。値 'exceldatenum'
はスプレッドシート ファイルのみに適用され、テキスト ファイルに対しては有効ではありません。
値 | インポートされる日付と時刻のデータの型 |
---|---|
'datetime' | MATLAB の 詳細については、 |
'text' |
|
'exceldatenum' | Excel のシリアル日付値 シリアル日付値は、指定された基準日からの日数に等しい単一の数値です。Excel のシリアル日付値では MATLAB のシリアル日付値とは異なる基準日が使用されています。Excel の日付の詳細については、 |
データ型: char
| string
Delimiter
— フィールドの区切り記号
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
区切りテキスト ファイル内のフィールドの区切り記号。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。
例: 'Delimiter','|'
例: 'Delimiter',{';','*'}
データ型: char
| string
| cell
Whitespace
— 空白として扱う文字
文字ベクトル | string スカラー
空白として扱う文字。1 文字以上が含まれる文字ベクトルまたは string スカラーとして指定します。
例: 'Whitespace',' _'
例: 'Whitespace','?!.,'
LineEnding
— 行末の文字
{'\n','\r','\r\n'}
(既定値) | 文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
行末の文字。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。
例: 'LineEnding','\n'
例: 'LineEnding','\r\n'
例: 'LineEnding',{'\b',':'}
データ型: char
| string
| cell
CommentStyle
— コメントのスタイル
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
コメントのスタイル。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。
たとえば、パーセント記号に続く同じ行のテキストを無視するには、CommentStyle
を '%'
に指定します。
例: 'CommentStyle',{'/*'}
データ型: char
| string
| cell
Encoding
— 文字エンコード スキーム
'UTF-8'
| 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...
ファイルに関連付けられた文字エンコード スキーム。'Encoding'
と 'system'
で構成されるコンマ区切りのペア、または標準の文字エンコード スキーム名として指定します。エンコードを指定しない場合、関数 readcell
は自動文字セット検出を使用して、ファイルの読み取り時にエンコードを判断します。
インポート オプションに加えて引数 'Encoding'
を指定した場合、関数 readcell
は 'Encoding'
で指定された値を使用して、インポート オプションで定義されたエンコードをオーバーライドします。
例: 'Encoding','UTF-8'
は、UTF-8 をエンコードとして使用します。
例: 'Encoding','system'
はシステムの既定のエンコードを使用します。
データ型: char
| string
DurationType
— duration データの出力データ型
'duration'
(既定値) | 'text'
テキスト ファイルからの duration データの出力データ型。'DurationType'
と 'duration'
または 'text'
のいずれかで構成されるコンマ区切りのペアとして指定します。
値 | インポートされる duration データの型 |
---|---|
'duration' | MATLAB の 詳細については、 |
'text' |
|
データ型: char
| string
DateLocale
— 日付を読み取るロケール
文字ベクトル | string スカラー
日付を読み取るロケール。'DateLocale'
と、
の形式の文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。ここで、次のようになります。xx
_YY
YY
は国を表す大文字の ISO 3166-1 alpha-2 コードxx
は言語を表す小文字 2 文字の ISO 639-1 コード
次の表に一般的なロケールの値を示します。
ロケール | 言語 | 国 |
---|---|---|
'de_DE' | ドイツ語 | ドイツ |
'en_GB' | 英語 | 英国 |
'en_US' | 英語 | 米国 |
'es_ES' | スペイン語 | スペイン |
'fr_FR' | フランス語 | フランス |
'it_IT' | イタリア語 | イタリア |
'ja_JP' | 日本語 | 日本 |
'ko_KR' | 韓国語 | 韓国 |
'nl_NL' | オランダ語 | オランダ |
'zh_CN' | 簡体字中国語 | 中国 |
%D
書式指定子を使用してテキストを datetime
値として読み取る場合、DateLocale
を使用して、インポート関数が月と曜日の名前および略語を解釈するためのロケールを指定します。
インポート オプション opts
に加えて引数 DateLocale
を指定した場合、インポート関数は引数 DateLocale
で指定された値を使用して、インポート オプションで定義されたロケールをオーバーライドします。
例: 'DateLocale','ja_JP'
ConsecutiveDelimitersRule
— 連続する区切り記号を処理する方法
'split'
| 'join'
| 'error'
区切りテキスト ファイル内の連続する区切り記号を処理する方法。次の表の値のいずれかとして指定します。
連続する区切り記号のルール | 動作 |
---|---|
'split' | 連続する区切り記号を複数のフィールドに分割します。 |
'join' | 複数の区切り記号を結合して 1 つの区切り記号にします。 |
'error' | エラーを返し、インポート操作を中止します。 |
データ型: char
| string
LeadingDelimitersRule
— 先頭の区切り記号を管理する方法
'keep'
| 'ignore'
| 'error'
区切りテキスト ファイル内の先頭の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
先頭の区切り記号のルール | 動作 |
---|---|
'keep' | 区切り記号を維持します。 |
'ignore' | 区切り記号を無視します。 |
'error' | エラーを返し、インポート操作を中止します。 |
TrailingDelimitersRule
— 末尾の区切り記号を管理する方法
'keep'
| 'ignore'
| 'error'
区切りテキスト ファイル内の末尾の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
先頭の区切り記号のルール | 動作 |
---|---|
'keep' | 区切り記号を維持します。 |
'ignore' | 区切り記号を無視します。 |
'error' | エラーを返し、インポート操作を中止します。 |
Sheet
— 読み取り元のシート
空の文字配列 ''
(既定値) | 文字ベクトル | string スカラー | 正のスカラー整数
読み取り元のシート。空の文字配列、シート名を含む文字ベクトルまたは string スカラー、あるいはシート インデックスを示す正の整数スカラーとして指定します。インポート関数は Sheet
プロパティに指定された値に基づいて、表に説明されているように動作します。
指定 | 動作 |
---|---|
'' (既定) | 1 番目のシートからデータをインポートします。 |
名前 | スプレッドシート ファイル内のシートの順序に関係なく、一致する名前のシートからデータをインポートします。 |
整数 | スプレッドシート ファイル内のシート名に関係なく、整数で示された位置にあるシートからデータをインポートします。 |
データ型: char
| string
| single
| double
UseExcel
— Microsoft Excel for Windows のインスタンスを起動するためのフラグ
false
(既定値) | true
スプレッドシート データを読み取るときに、Microsoft Excel for Windows のインスタンスを起動するためのフラグ。'UseExcel'
と、true
または false
のいずれかで構成されるコンマ区切りのペアとして指定します。
'UseExcel'
パラメーターは、次の値のいずれかに設定できます。
true
— インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動します。false
— インポート関数は、ファイルを読み取るときに Microsoft Excel のインスタンスを起動しません。このモードで動作しているインポート関数の機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。
UseExcel |
|
|
---|---|---|
サポートされているファイル形式 |
|
|
式やマクロなどの対話型機能のサポート | あり | なし |
Windows プラットフォームでスプレッドシート ファイルを読み取るときに Microsoft Excel のインスタンスを起動する場合は、'UseExcel'
パラメーターを true
に設定します。
バージョン履歴
R2019a で導入
参考
readtable
| readtimetable
| readmatrix
| readvars
| writecell
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)