Reading Selected Columns from an Excel Using the "readtable" Option

265 ビュー (過去 30 日間)
FW
FW 2019 年 9 月 21 日
コメント済み: FW 2019 年 9 月 21 日
If we have an Excel file, and instead of selecting a range of columns, I would like to select certain columns. The following syntax can read the range of columns
Table_1 = readtable('FileName.xlsx','Sheet','SheetName','Range','A1:E11'). What is the syntax for reading column A from row 50 to 10000 and column C from row 50 to10000 and skipping columns B?
This is MATLAB 2019a.
Thanks.

採用された回答

Guillaume
Guillaume 2019 年 9 月 21 日
readtable does not accept disjoint ranges (e.g. 'A50:A10000,C50:C10000') so you don't have a choice but read the B column as well and discard afterward:
Table_1 = readtable('FileName.xlsx','Sheet','SheetName','Range','A50:C10000'); %read column A to C
Table_1(:, 2) = []; %discard B column
Alternatively, you could use detectImportOptions then modify the import options to remove the columns you don't want:
opts = detectImportOptions('FileName.xlsx','Sheet','SheetName','Range','A50:C10000'); %still have to specify the full range
opts.SelectedVariableNames = opts.SelectedVariableNames([1, 3]); %ignore second column
Table_1 = readtable(FileName.xlsx', opts)
Another workaround might be to name the desired range in excel but I can't remember if you can create named disjoint ranges. If it's possible, you could pass the range name to readtable. Of course, this requires the range to be named beforehand in excel, so may not be practical.
  1 件のコメント
FW
FW 2019 年 9 月 21 日
Thank you. Glad to know that disjoint columns cannot be read. I was searching for almost a day.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by