Use Readtable() on a single-column CSV but generated multiple variable names

When using readtable() to read a single-column CSV file, the function reads more than one variable name.
% Read CSV data
dataset = readtable(CSVpath, "TextType","string", "ReadVariableNames", true)
vNames = dataset.Properties.VariableNames
% Expected
vNames = 1x1 cell array {'Notes'}
% Received
vNames = 1x7 cell array {'Call_1__'} {'US___'} {'Var3'} {'Var4'} {'Var5'} {'Var6'} {'Var7'}
There were 2 warnings: one telling me to use 'preserve' to preserve variable names; the other says that my variable names are too long (truncated to the max length).
Warning: Column headers from the file were modified to make them valid MATLAB identifiers before creating variable names for the table. The
original column headers are saved in the VariableDescriptions property.
Set 'VariableNamingRule' to 'preserve' to use the original column headers as table variable names.
How can I only read the one column I want?

댓글 수: 2

Attach the file; we can't tell what's in it to confuse readtable without seeing it.
If it's really, really long, just save and attach the first 50 rows or something representative.
Like dpb says, it's hard to suggest fixes without seeing the actual data. Here's a suggestion. You can mention the range of your variable names by creating custom file import options. You can set the VariableNamesRange property of a SpreadsheetImportOptions object.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Text Data Preparation에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

Zzz
2021년 6월 16일

댓글:

2021년 6월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by