Use Readtable() on a single-column CSV but generated multiple variable names
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
dpb
2021-6-16
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
2021-6-23
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 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!