Trouble importing data file

17 views (last 30 days)
I have trouble to import the following file (File_minimum_example.txt, enclosed here) as table (or array), using Matlab R2018a.
  • When using uiimport, I obtain the message "File Encoding UTF16-LE is not supported. [...]" and I can't see my data.
  • When using importdata, I obtain only one column instead of 11. Plus, one empty row separates every consecutive rows, probably due to the fact my data file uses two delimiters: ";" and "\n".
  • When using readtable, I use the code below:
T = readtable(filename, 'Format','%f%f%f%f%f%f%f%f%f%f%f', 'Delimiter', ';');
but I obtain an error message "Unable to read the entire file. You may need to specify a different format, delimiter, or number of header lines." Possibly because I can't work out how to remove the first row, which is useless, but which will be systematically present in all the files I'd like to treat.
Could you advise me on how to best import all these data (including headers that appear on row #2) ? Many thanks in advance,

Accepted Answer

Patrick Gipper
Patrick Gipper on 30 Dec 2019
Open the file using Word. Word will recognize that it is a non-standard text format and default to Unicode. Then simply save the file using File/Save As. A File Conversion box will pop up. Make sure you select MS-DOS for the Text Encoding. The new file can now be recognized using the Matlab command readtable. You can probably create a Word macro to automate the conversion.
  4 Comments
Guillaume
Guillaume on 28 Jan 2020
Note that by converting a file from UTF16 to ANSI or MS-DOS you may irreversibly replace some characters with an 'unknown character symbol'. UTF16 supports significantly more charactes (137,994 as of this comment) than MS-DOS or ANSI (127 or 256).
Converting to UTF8 instead would ensure that all characters are preserved.
David Maréchal
David Maréchal on 28 Jan 2020
Dear Guillaume,
I used a converter to transform my UTF16 data file to UTF8. I saved it, then opened it in Matlab, using the command uiimport. It works fine too. Many thanks for this solution that preserves more characters.
David

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!