how to read .txt file having the following format.

I have text file attached, how can I read it like a table in MATLAB?
[{"ID":1,"Column_A":"red","Column_B":"apple","Column_C":0},{"ID":2,"Column_A":"orange","Column_B":"orange","Column_C":1},{"ID":2,"Column_A":"green","Column_B":"grapes","Column_C":3},{"ID":3,"Column_A":"purple","Column_B":"onion","Column_C":4}]

Respuestas (3)

cr
cr el 1 de Dic. de 2022

0 votos

readtable(), importdata(), etc.
You may just drag and drop the file into workspace to launch importwizard. Make the appropriate settings and then choose generate code to see the underlying specifics.
Regards.

4 comentarios

MakM
MakM el 1 de Dic. de 2022
importdata() save this txt info into one cell, after that I have to split the string using the strsplit functions? or is there any other way I can do that?
cr
cr el 1 de Dic. de 2022
That would be way more tedium than doing it with importwizard.
MakM
MakM el 1 de Dic. de 2022
importwizard is crashing my MATLAB.
cr
cr el 2 de Dic. de 2022
Which version of matlab and what os are you on?

Iniciar sesión para comentar.

Use the readcell function —
C1 = readcell('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1214888/example.txt')
C1 = 1×16 cell array
{'[{"ID":1'} {'Column_A:"red"'} {'Column_B:"apple"'} {'Column_C:0}'} {'{"ID":2'} {'Column_A:"orange"'} {'Column_B:"orange"'} {'Column_C:1}'} {'{"ID":2'} {'Column_A:"green"'} {'Column_B:"grapes"'} {'Column_C:3}'} {'{"ID":3'} {'Column_A:"purple"'} {'Column_B:"onion"'} {'Column_C:4}]'}
That will at least get it into your workspace.
.
fileContents = string(fileread("example.txt"))
fileContents = "[{"ID":1,"Column_A":"red","Column_B":"apple","Column_C":0},{"ID":2,"Column_A":"orange","Column_B":"orange","Column_C":1},{"ID":2,"Column_A":"green","Column_B":"grapes","Column_C":3},{"ID":3,"Column_A":"purple","Column_B":"onion","Column_C":4}]"
jsonStruct = jsondecode(fileContents)
jsonStruct = 4×1 struct array with fields:
ID Column_A Column_B Column_C
t = struct2table(jsonStruct)
t = 4×4 table
ID Column_A Column_B Column_C __ __________ __________ ________ 1 {'red' } {'apple' } 0 2 {'orange'} {'orange'} 1 2 {'green' } {'grapes'} 3 3 {'purple'} {'onion' } 4
t = convertvars(t,[2 3],"string")
t = 4×4 table
ID Column_A Column_B Column_C __ ________ ________ ________ 1 "red" "apple" 0 2 "orange" "orange" 1 2 "green" "grapes" 3 3 "purple" "onion" 4

Etiquetas

Preguntada:

el 1 de Dic. de 2022

Respondida:

el 7 de Dic. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by