Can MATLAB read a file inside a file?

조회 수: 5 (최근 30일)
Akana Juliet
Akana Juliet 2021년 8월 13일
댓글: Cris LaPierre 2021년 8월 13일
Hi all. I have MATLAB reading in a text file successfully into a structure. But I would like for my text file to point to csv file to read in.
So I read in the text file data and it is a list of parameters. but one of the parameters listed is another read-in file.
*Edit*
I am using a file that reads in and parses the data based on type. This is what it looks like:
function result = load_data( r )
%LOAD_DATA recursively convert java objects
if isa(r, 'char')
result = char(r);
elseif isa(r, 'double')
result = double(r);
elseif isa(r, 'logical')
result = logical(r);
Is there a way I can say something like "elseif isa(r, 'csv, text, or yaml file, etc') ?
Thanks in advance!

채택된 답변

Cris LaPierre
Cris LaPierre 2021년 8월 13일
Yes, it is possible, but there is no function that will do this on its own. You will need to write your own code to parse the first file and then perform the desired operations with the data it has loaded. This could be a second read file operation using a file name obtained from the first file.
  댓글 수: 6
Akana Juliet
Akana Juliet 2021년 8월 13일
Sorry, you asked how the data was stored in my first file. When I said I am generalizing, I meant that I was changing the word usage but this is the exact format I'm given. The function I am using knows to just take what is to the right and read it in as such. So Name will be 'char' and size will be 'double'. Right now when I try to run it like this (below), it reads in 'file.csv' as a string.
I was thinking about trying an elseif statement to recognize when the str includes .csv in the string, and then read in that string as a file. I don't know how to go about that but I am trying
Name: name
Type: type
Size: 10
Table: 'file.csv'
Cris LaPierre
Cris LaPierre 2021년 8월 13일
You doen't read that string in as a file. You read it in as a string. Then you have some follow up code that then reads in the csv file using that name captured in the string.
Consider using fileparts.
[~,f,x] = fileparts('file.csv')
f = 'file'
x = '.csv'

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Cell Arrays에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by