csvデータの読み込み

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

 Risposta accettata

Hernia Baby
Hernia Baby il 31 Lug 2021

2 voti

バージョンにもよりますが 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 Commenti

Hernia Baby
Hernia Baby il 31 Lug 2021
csvも同様の操作で可能です
marques
marques il 31 Lug 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行目以降の表データは読み込まない方法があればと考えております。
それでしたら xlsread での指定がいい気がします
filename = 'Sample_1.xlsx';
sheet = 'Sheet1';
xlRange = 'C2';
Ext = xlsread(filename,sheet,xlRange)
Ext = 20210731
marques
marques il 1 Ago 2021
ご回答いただきありがとうございます。
xlsread の説明文を読みましたら、基本エクセルファイルようだと思いましたので、
readmatrix関数について調べてみました。そうするとRangeオプションを使用して
任意の位置のデータが取得できましたので、実際のデータで使用してみます。
下記のコードで試しました。(test1.csvは添付していただいたSample_1.xlsxをcsvにしたものです。)
date = readmatrix("test1.csv",'Range',[2 3 2 3]);
Hernia Baby
Hernia Baby il 1 Ago 2021
返信ありがとうございます。
csvでもxlsreadは使用可能ですが、
おっしゃる通り、2019a以降のバージョンではreadmatrixが有効です。
バージョンによって使い分けてみてください。

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!