フィルターのクリア

First colum of CSV-imported table has "x___" added to its name

14 ビュー (過去 30 日間)
z8080
z8080 2019 年 10 月 21 日
コメント済み: z8080 2019 年 10 月 22 日
I have a bunch of automatically-generated CSV files with headers, which I'd like to import into Matlab as a table. I used code such as
T = readtable('d:\test.csv', 'readvariablenames', true);
However, even though the name of the CSV's first column is runNr, the first column in the Matlab table gets named "x___runNr"
This clearly has something to do with the CSV files being in a slightly format different from that expected by Matlab. For instance, if I manually change the name of that first cell in Excel to something else, then reopen the CSV, the cell contents are all merged into a cell, on every row.
Still, I am not sure what to do to fix this, since I cannot change the format of the CSVs.
Any help?
  1 件のコメント
Star Strider
Star Strider 2019 年 10 月 21 日
It imports correctly for me in R2019b (Update 1):
T =
runNr repNr trialNr file
_____ _____ _______ ____________________
NaN NaN NaN {0×0 char }
NaN NaN NaN {0×0 char }
NaN NaN NaN {0×0 char }
1 1 1 {'stimuli/12C1.wav'}
(Posting only a relevant subset of the columns.)

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

回答 (1 件)

Jeremy Hughes
Jeremy Hughes 2019 年 10 月 21 日
The file probably has a Byte Order Mark in the beginning.
If you read the raw bytes using fopen/fread you can see the mark at the beginning.
  8 件のコメント
Steven Lord
Steven Lord 2019 年 10 月 22 日
You could post-process the imported table to change the variable name. Something like this should work, though I haven't tried it:
mytable.Properties.VariableNames{1} = ...
strrep(mytable.Properties.VariableNames{1}, 'x___', '');
z8080
z8080 2019 年 10 月 22 日
Perfect, thank you!

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

カテゴリ

Help Center および File ExchangeData Import from MATLAB についてさらに検索

製品


リリース

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by