readcell
ファイルから cell 配列を作成する
構文
説明
C = readcell( は、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、ファイル内のヘッダーの行数、必要な変数または列の数、読み取るデータの範囲を指定できます。filename,Name,Value)
C = readcell( は、インポート オプション オブジェクトと名前と値の引数の両方を使用して cell 配列を作成します。インポート オプション オブジェクトに加えて名前と値の引数を指定する場合、filename,opts,Name,Value)readcell はテキスト ファイルでは名前と値の引数 DateLocale および Encoding のみ、スプレッドシート ファイルでは名前と値の引数 Sheet および UseExcel のみをサポートします。
例
テキスト ファイルの内容を cell 配列にインポートします。readcell は出力 cell 配列の cell としてテキスト ファイルの各要素をインポートします。
C = readcell("basic_cell.txt")C=3×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'hello' } {'world'} {[ NaN]}
{[10-Oct-2018 10:27:56]} {[ 1]} {[<missing>]}
スプレッドシート ファイルから cell 配列に表形式データをインポートします。
C = readcell("basic_cell.xls")C=3×3 cell array
{[ 1]} {[ 2]} {[ 3]}
{'hello' } {'world'} {[<missing>]}
{[10-Oct-2018 10:27:56]} {[ 1]} {[<missing>]}
指定したシートと範囲のデータを cell 配列にインポートします。
airlinesmall_subset.xlsx スプレッドシート ファイルには 1996 年から 2008 年のデータが複数のワークシートに分かれて含まれています。スプレッドシート ファイルの各シートには、特定の年のデータがあります。
"2007" という名前のシートの列 G、H、および I から 10 行のデータをインポートします。Excel® の範囲 "G2:I11" は、列 G から I、行 2 から 11 (ヘッダー行の後の最初の 10 行) で定義されたデータ範囲を表します。
C = readcell("airlinesmall_subset.xlsx","Sheet","2007","Range","G2:I11")
C=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'}
インポート オプション オブジェクトを使用してテキスト ファイルから変数のサブセットをインポートします。
関数 detectImportOptions を使用して、変数の名前と型、区切り記号、空白文字など、テキスト ファイルの要素を検出します。インポート オプション オブジェクト opts は検出されたファイルの要素をプロパティとして格納します。
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
インポート オプション オブジェクトを変更して、インポートする変数のサブセットおよび行末文字を指定します。
opts.SelectedVariableNames = ["Year","Month","DayofMonth"]; opts.LineEnding = "\n";
インポート オプション オブジェクトを指定して readcell を使用し、データのサブセットをインポートします。
C = readcell("airlinesmall.csv",opts);入力引数
読み取るファイルの名前。string スカラーまたは文字ベクトルとして指定します。次のファイル形式のいずれかを指定できます。
拡張子が
.txt、.dat、または.csvの区切りテキスト ファイルまたは固定幅テキストファイル。区切りテキスト ファイルおよび固定幅テキスト ファイルの場合、
readcellは空のフィールドをmissing値に変換します。テキスト ファイルのすべての行には同じ数の区切り記号がなければなりません。
readcellはファイル内の意味のない空白を無視します。
拡張子が
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx、または.odsのスプレッドシート ファイル。Microsoft® Excel® がインストールされている Windows® システムで、
readcellは、使用している Excel のバージョンで認識されるすべての Excel スプレッドシート ファイル形式を読み取ります。システムに Excel for Windows がない場合、または MATLAB® Online™ を使用している場合、
readcellは.xls、.xlsm、.xlsx、.xltm、および.xltxの各ファイルのみを読み取ります。
拡張子が
.zip、.gz、または.tarの圧縮およびアーカイブされたファイルとフォルダー。 (R2025a 以降)圧縮ファイル形式はファイルとして読み取られます。
アーカイブ ファイル形式はフォルダーとして扱われます。たとえば、関数は
mydatafiles.zipをフォルダーとして解釈するため、その中にあるmydatafiles.zip/file1.xlsxなどのファイルを指定しなければなりません。.gz拡張子で終わるファイルの場合、関数は.gzの前にある拡張子を使用してファイル形式を判別します。たとえば、mydata.csv.gzは CSV ファイルとして読み取られます。
filename に拡張子が含まれていない場合は、名前と値の引数 FileType を使用してファイル形式を指定します。
ファイルの場所によって、filename は次のいずれかの形式をとります。
場所 | 形式 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| 現在のフォルダー、または MATLAB パス上のフォルダー | ファイル名を 例: | ||||||||
フォルダー内のファイル | ファイルが現在のフォルダーまたは MATLAB パス上のフォルダーにない場合は、 例: 例: | ||||||||
| インターネット URL | ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、 例: | ||||||||
リモートの場所 | リモートの場所に保存されたファイルの場合、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
ファイル インポート オプション。関数 detectImportOptions または関連インポート オプション関数のいずれかで作成された、次の表内のインポート オプション オブジェクトのいずれかとして指定します。インポート オプション オブジェクトにはデータ インポートのプロセスを構成するプロパティが含まれています。次の表では、データのインポート時に readcell が適用する各インポート オプション オブジェクトのプロパティを示します。
| ファイルの種類 | インポート オプション オブジェクト | 適用されるプロパティ |
|---|---|---|
| 区切りテキスト ファイル | DelimitedTextImportOptions オブジェクト |
|
| 固定幅テキスト ファイル | FixedWidthImportOptions オブジェクト |
|
| スプレッドシート ファイル |
|
|
インポートを制御する方法の詳細については、Control How MATLAB Imports Your Dataを参照してください。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: readcell(filename,NumHeaderLines=5) は、指定したファイルの最初の 5 行がヘッダー行であることを示します。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: readcell(filename,"NumHeaderLines",5) は、指定したファイルの最初の 5 行がヘッダー行であることを示します。
テキスト ファイル
ファイルの種類。"text" または "spreadsheet" として指定します。
filename にファイル拡張子が含まれない場合、または次の拡張子以外の場合は、名前と値の引数 FileType を指定します。
区切りテキスト ファイルまたは固定幅テキスト ファイルの場合、
.txt、.datまたは.csvスプレッドシート ファイルの場合、
.xls、.xlsb、.xlsm、.xlsx、.xltm,.xltxまたは.ods
例: "FileType","text"
区切りテキスト ファイル内のフィールドの区切り記号。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。
例: "Delimiter","|"
例: "Delimiter",[";","*"]
区切りテキスト ファイル内の先頭の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
| 値 | 動作 |
|---|---|
"keep" | 区切り記号を維持します。 |
"ignore" | 区切り記号を無視します。 |
"error" | エラーを返し、インポート操作をキャンセルします。 |
区切りテキスト ファイル内の末尾の区切り記号を管理する方法。次の表の値のいずれかとして指定します。
| 値 | 動作 |
|---|---|
"keep" | 区切り記号を維持します。 |
"ignore" | 区切り記号を無視します。 |
"error" | エラーを返し、インポート操作をキャンセルします。 |
区切りテキスト ファイル内の連続する区切り記号を管理する方法。次の表の値のいずれかとして指定します。
| 値 | 動作 |
|---|---|
"split" | 連続する区切り記号を複数のフィールドに分割します。 |
"join" | 複数の区切り記号を結合して 1 つの区切り記号にします。 |
"error" | エラーを返し、インポート操作をキャンセルします。 |
ファイルのヘッダーの行数。正の整数として指定します。指定しない場合、readcell はファイルのヘッダーの行数を自動的に検出します。
例: "NumHeaderLines",7
インポートされるテキスト データの型。次のいずれかの値として指定します。
"string"— テキスト データを string 配列としてインポートします。"char"— テキスト データを文字ベクトルとしてインポートします。
例: "TextType","char"
インポートされる日付と時刻のデータの型。次の表のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
"datetime" | MATLAB の 詳細については、 |
"text" | インポートされる日付と時刻のデータの型は
|
必要な変数または列の数。正の整数として指定します。指定しない場合、readcell は変数または列の数を自動的に検出します。
テキスト ファイルから読み取るデータの部分。次のいずれかの形式をとる string スカラー、文字ベクトル、または数値ベクトルとして指定します。
Range の指定方法 | 説明 |
|---|---|
開始セル
| データの開始セルを指定します。
開始セルを使用して、 例: |
四角形の範囲
| 次のフォームのいずれかで四角形の範囲を使用して、読み取る範囲を正確に指定します。
|
行範囲または列範囲
| Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。
例: あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。
指定された範囲の列数は 例: |
開始行番号
| 正のスカラー行インデックスを使用して、データを含む最初の行を指定します。
例: |
Excel の名前付き範囲
| Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 例: |
指定なしまたは空
| 指定しないか空の場合、 例: メモ: "使用範囲" とは、スプレッドシート内の実際にデータを含んでいる四角形部分を指します。 |
HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。
空白として扱う文字。1 文字以上が含まれる文字ベクトルまたは string スカラーとして指定します。
例: 'Whitespace',' _'
例: 'Whitespace','?!.,'
行末の文字。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。
例: "LineEnding","\n"
例: "LineEnding","\r\n"
例: "LineEnding",["\b",":"]
コメントのスタイル。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。単一行および複数行のコメントでは、開始識別子は空白以外の最初の文字でなければなりません。単一行のコメントでは、単一の識別子を指定して、その識別子で開始している行をコメントとして扱います。複数行のコメントでは、開始識別子 (最初のもの) から終了識別子 (2 番目のもの) までの行がコメントとして扱われます。識別子の文字ベクトルを 2 つまで指定できます。
たとえば、空白以外の最初の文字としてパーセント記号に続く行を無視するには、CommentStyle を "%" に指定します。
例: "CommentStyle",["/*"]
例: "CommentStyle",["/*","*/"]
ファイルに関連付けられた文字エンコード スキーム。"system" または標準の文字エンコード スキーム名として指定します。エンコードを指定しない場合、readcell は自動文字セット検出を使用して、ファイルの読み取り時にエンコードを判断します。
インポート オプション オブジェクトに加えて引数 Encoding を指定した場合、readcell は Encoding で指定された値を使用して、インポート オプションで定義されたエンコードをオーバーライドします。
例: "Encoding","UTF-8" は、UTF-8 をエンコードとして使用します。
例: "Encoding","system" はシステムの既定のエンコードを使用します。
テキスト ファイルの duration データの出力データ型。次の表の値のいずれかとして指定します。
| 値 | インポートされる duration データの型 |
|---|---|
"duration" | MATLAB 詳細については、 |
"text" | インポートされる duration データの型は
|
日付を読み取るロケール。形式 の string スカラーまたは文字ベクトルとして指定します。xx_YY
xxは言語を表す小文字 2 文字の ISO 639-1 コードYYは国を表す大文字の ISO 3166-1 alpha-2 コード
次の表に一般的なロケールの値を示します。
| ロケール | 言語 | 国 |
|---|---|---|
"de_DE" | ドイツ語 | ドイツ |
"en_GB" | 英語 | 英国 |
"en_US" | 英語 | 米国 |
"es_ES" | スペイン語 | スペイン |
"fr_FR" | フランス語 | フランス |
"it_IT" | イタリア語 | イタリア |
"ja_JP" | 日本語 | 日本 |
"ko_KR" | 韓国語 | 韓国 |
"nl_NL" | オランダ語 | オランダ |
"zh_CN" | 簡体字中国語 | 中国 |
%D 書式指定子を使用してテキストを datetime 値として読み取る場合、DateLocale を使用して、readcell が月と曜日の名前および略語を解釈するためのロケールを指定します。
インポート オプション オブジェクトに加えて引数 DateLocale を指定した場合、readcell は引数 DateLocale で指定された値を使用して、インポート オプションで定義されたロケールをオーバーライドします。
例: "DateLocale","ja_JP"
スプレッドシート ファイル
ファイルの種類。"text" または "spreadsheet" として指定します。
filename にファイル拡張子が含まれない場合、または次の拡張子以外の場合は、名前と値のペアの引数 FileType を指定します。
区切りテキスト ファイルまたは固定幅テキスト ファイルの場合、
.txt、.datまたは.csvスプレッドシート ファイルの場合、
.xls、.xlsb、.xlsm、.xlsx、.xltm,.xltxまたは.ods
例: "FileType","text"
ファイルのヘッダーの行数。正の整数として指定します。指定しない場合、readcell はファイルのヘッダーの行数を自動的に検出します。
例: "NumHeaderLines",7
インポートされるテキスト データの型。次のいずれかの値として指定します。
"string"— テキスト データを string 配列としてインポートします。"char"— テキスト データを文字ベクトルとしてインポートします。
例: "TextType","char"
インポートされる日付と時刻のデータの型。次の表のいずれかの値として指定します。
| 値 | 説明 |
|---|---|
"datetime" | MATLAB の 詳細については、 |
"text" | インポートされる日付と時刻のデータの型は
|
"exceldatenum" | Excel のシリアル日付値 値 |
必要な変数または列の数。正の整数として指定します。指定しない場合、readcell は変数または列の数を自動的に検出します。
読み取り元のシート。空の文字配列、シート名を含む文字ベクトルまたは string スカラー、あるいはシート インデックスを示す正の整数スカラーとして指定します。readcell は名前と値の引数 Sheet に指定された値に基づいて、表に説明されているように動作します。
| 指定 | 動作 |
|---|---|
'' (既定) | 1 番目のシートからデータをインポートします。 |
| シート名 | スプレッドシート ファイル内のシートの順序に関係なく、一致する名前のシートからデータをインポートします。 |
| シート インデックス | スプレッドシート ファイル内のシート名に関係なく、インデックスで示された位置にあるシートからデータをインポートします。 |
スプレッドシート ファイルから読み取るデータの部分。次のいずれかの形式をとる string スカラー、文字ベクトル、または数値ベクトルとして指定します。
Range の指定方法 | 説明 |
|---|---|
開始セル
| データの開始セルを次のものとして指定します。
開始セルを使用して、 例: |
四角形の範囲
| 次のフォームのいずれかで四角形の範囲を使用して、読み取る範囲を正確に指定します。
|
行範囲または列範囲
| Excel の行番号を使用して、開始行と終了行を示して範囲を指定します。
例: あるいは、Excel の列の文字または数字を使用して開始列と終了列を示して、範囲を指定します。
指定された範囲の列数は 例: |
開始行番号
| 正のスカラー行インデックスを使用して、データを含む最初の行を指定します。
例: |
Excel の名前付き範囲
| Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 例: |
指定なしまたは空
| 指定しないか空の場合、 例: メモ: "使用範囲" とは、スプレッドシート内の実際にデータを含んでいる四角形部分を指します。 |
HTTP または HTTPS 要求オプション。weboptions オブジェクトとして指定します。weboptions オブジェクトは、指定した filename がプロトコル タイプ "http://" または "https://" を含むインターネット URL である場合にデータをインポートする方式を決定します。
スプレッドシート データを読み取るときに、Microsoft Excel for Windows のインスタンスを起動するためのフラグ。以下の値のいずれかとして指定します。
1(true) — ファイルを読み取るときに Microsoft Excel のインスタンスを起動します。0 (
false) — ファイルを読み取るときに Microsoft Excel のインスタンスを起動しません。このモードで動作しているreadcellの機能では、サポートするファイル形式および式やマクロなどの対話型機能が異なります。
UseExcel |
|
|
|---|---|---|
| サポートされているファイル形式 |
|
|
式やマクロなどの対話型機能のサポート | あり | なし |
UseExcel は非対話型の自動化された環境ではサポートされません。
R2024b 以降
列間でセルをマージする場合のルール。次の表のいずれかの値として指定します。
| インポート ルール | 動作 |
|---|---|
"placeleft" | 一番左のセルにデータを配置し、残りのセルは
|
"placeright" | 一番右のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitrow" | マージされたセルがある行を除外します。 |
"error" | エラー メッセージを表示し、インポート操作をキャンセルします。 |
R2024b 以降
行間でセルをマージする場合のルール。次の表のいずれかの値として指定します。
| インポート ルール | 動作 |
|---|---|
"placetop" | 一番上のセルにデータを配置し、残りのセルは
|
"placebottom" | 一番下のセルにデータを配置し、残りのセルは
|
"duplicate" | すべてのセルにデータを複製します。 |
"omitvar" | マージされたセルがある変数を除外します。 |
"error" | エラー メッセージを表示し、インポート操作をキャンセルします。 |
バージョン履歴
R2019a で導入圧縮ファイルおよびアーカイブ ファイルからデータを cell 配列として読み取ることができます。
スプレッドシートからデータをインポートするとき、readcell で、名前と値の引数 MergedCellRowRule および MergedCellColumnRule を使用して、行間および列間でマージされたセルをどのようにインポートするかを指定できます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)