フィルターのクリア

how to preserve original column headings (variable names) when using writetable

396 ビュー (過去 30 日間)
fixusc
fixusc 2019 年 6 月 25 日
編集済み: Alan Pawollek 2021 年 10 月 15 日
When importing spreadsheets containing invalid variable names, Matlab changes them and stores the original column headings in the VariableDescriptions property of the table. How can I write my table to a file and use the original variable names on export? In other words, how can I export T so that output_table.xlsx is the same as input_table.xlsx?
Reprocessing the exported file as a string is not really an option, because my original file will have multiple sheets.
T = readtable('input_table.xlsx'); % Matlab changes "Column 1" to "Column1"
writetable(T,'output_table.xlsx');

採用された回答

Sindar
Sindar 2020 年 4 月 22 日
As of 2019b, table variable names don't need to follow normal variable naming rules. This allows for a couple of fixes:
T = readtable('input_table.xlsx','PreserveVariableNames',true);
or
T.Properties.VariableNames={'Column 1';'Column 2'}
  2 件のコメント
fixusc
fixusc 2020 年 4 月 22 日
Wow, thanks for pointing this out.
It's however very likely to cause problems when writing code for someone else because it is hard to assure that everybody has at least 2019b. But cool to know for my own stuff.
Alan Pawollek
Alan Pawollek 2021 年 10 月 15 日
編集済み: Alan Pawollek 2021 年 10 月 15 日
Thanks @Sindar works perfecty fine :) Now I don't need to do it via
[name of File].Properties.VariableNames
and write it manually for each coloumn.
ps. I habe the latest version of Matlab R2021b

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

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by