Why is ReadTable Deleting Data with NaN?

47 ビュー (過去 30 日間)
Alan Lee
Alan Lee 2022 年 8 月 12 日
コメント済み: Alan Lee 2022 年 8 月 12 日
I'm trying to automate the reading of several hundred excel files with identical layouts using a for loop and readtable.
Does anyone know why readtable is removing data in only SOME of my columns and replacing them with NaN? I'm a bit of an amateur, so I would appreciate any help.
Excel Spreadsheet
Matlab Line
teeth = readtable(file,'Sheet','Teeth Form Sheet','Range',''); %This reads the excel file and a particular sheet and should import all the data
Table Output
  2 件のコメント
Cris LaPierre
Cris LaPierre 2022 年 8 月 12 日
Please attach your file using the paperclip icon.
Alan Lee
Alan Lee 2022 年 8 月 12 日
Sorry to waste your time Cris.

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

採用された回答

Alan Lee
Alan Lee 2022 年 8 月 12 日
I figured it out. The issue was that not all my data points were the same Data type and that Readtable was getting confused. Once I converted all the data to Characters there were no more issues,
opts = detectImportOptions(file,'Sheet','Teeth Form Sheet','Range','');
opts = setvartype(opts,'char');
teeth = readtable(file,opts);

その他の回答 (1 件)

Cris LaPierre
Cris LaPierre 2022 年 8 月 12 日
The columns of a table must all be of the same datatype. readtable has set the datatype for each column based on the datatype in the first row. When the datatype is set to numeric and non-numeric information is encountered, it is replaced with NaN, meaning "not a number".
It looks to me like the data you want to read in is actually in rows 2-4 and 7-9. You can use the import tool to interactive create your import, or the options field of readtable.
  1 件のコメント
Alan Lee
Alan Lee 2022 年 8 月 12 日
Spot on Cris. I didn't think to look at that until I'd already uploaded.

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

カテゴリ

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

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by