csvファイルの任意の位置データのみ読み込む方法を教えてください。
(例:csvファイルの2行3列目の日付データのみを読み込みたい場合)

 Akzeptierte Antwort

Hernia Baby
Hernia Baby am 31 Jul. 2021

2 Stimmen

バージョンにもよりますが readtable をおすすめします
opts = detectImportOptions('Sample.xlsx');
preview('Sample.xlsx',opts)
ans = 8×2 table
Timestamps RoomTemp ____________________ ________ 17-Jul-2021 00:01:03 25.947 17-Jul-2021 00:31:03 26.054 17-Jul-2021 01:01:03 26.191 17-Jul-2021 01:31:03 26.328 17-Jul-2021 02:01:03 26.032 17-Jul-2021 02:31:03 26.558 17-Jul-2021 03:01:03 26.619 17-Jul-2021 03:31:03 26.629
M = readtable('Sample.xlsx','Range','A2:A4')
M = 3×1 table
Var1 ____________________ 17-Jul-2021 00:01:03 17-Jul-2021 00:31:03 17-Jul-2021 01:01:03

5 Kommentare

Hernia Baby
Hernia Baby am 31 Jul. 2021
csvも同様の操作で可能です
marques
marques am 31 Jul. 2021
下記 readtable 説明内にRangeオプションはスプレッドシートのみとありますが、
csvファイルはどのオプションを使用するのがよいでしょうか。
<https://jp.mathworks.com/help/matlab/ref/readtable.html#btx_238-1_sep_btx_238-1-opts>
また読み込みたいCSVファイルデータ例は下記の
2行3列目にある日付データのみになります。
5行目以降の表データは読み込まない方法があればと考えております。
Hernia Baby
Hernia Baby am 31 Jul. 2021
それでしたら xlsread での指定がいい気がします
filename = 'Sample_1.xlsx';
sheet = 'Sheet1';
xlRange = 'C2';
Ext = xlsread(filename,sheet,xlRange)
Ext = 20210731
marques
marques am 1 Aug. 2021
ご回答いただきありがとうございます。
xlsread の説明文を読みましたら、基本エクセルファイルようだと思いましたので、
readmatrix関数について調べてみました。そうするとRangeオプションを使用して
任意の位置のデータが取得できましたので、実際のデータで使用してみます。
下記のコードで試しました。(test1.csvは添付していただいたSample_1.xlsxをcsvにしたものです。)
date = readmatrix("test1.csv",'Range',[2 3 2 3]);
Hernia Baby
Hernia Baby am 1 Aug. 2021
返信ありがとうございます。
csvでもxlsreadは使用可能ですが、
おっしゃる通り、2019a以降のバージョンではreadmatrixが有効です。
バージョンによって使い分けてみてください。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!