Effacer les filtres
Effacer les filtres

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

5 vues (au cours des 30 derniers jours)
Zzz
Zzz le 16 Juin 2021
Commenté : Asvin Kumar le 23 Juin 2021
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 commentaires
dpb
dpb le 16 Juin 2021
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.
Asvin Kumar
Asvin Kumar le 23 Juin 2021
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.

Connectez-vous pour commenter.

Réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by