dataload

1 次查看(过去 30 天)
Christof
Christof 2011-7-6
Hello, I try to use the following command to read in a csv file
[data D]=importdata('FI.csv',',');
the file looks like
Time last_price volume Security Side 1/3/2011 9:10 100.18 678 RXP1EX GY Equity B 1/3/2011 9:30 100.18 84524 RXP1EX GY Equity B
However, Matlab returns a cell with 1 column only, instead of 5. How can i fix this? Cheers,
  2 个评论
Christof
Christof 2011-7-6
Time last_price volume Security Side
1/3/2011 9:10 100.18 678 RXP1EX GY Equity B 1/3/2011 9:30 100.18 84524 RXP1EX GY Equity B
Jan
Jan 2011-7-6
Please edit your original post. I assume it gets nicer if you start the lines showing your file by a space.

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2011-7-6
You specify in the call of IMPORTDATA, that the values are separated by commas. But the file does not contain commas. Perhaps this works:
[data, D]=importdata('FI.csv', ' ');

john
john 2011-7-6
There is a function
csvread(parameters...)
which I've used before for this. Check it out.
  2 个评论
Christof
Christof 2011-7-6
when I use that command, Matlab spits out an error
Error using ==> dlmread at 145
Mismatch between file and format string.
Trouble reading number from file (row 1, field 1) ==> Time,
Error in ==> csvread at 52
m=dlmread(filename, ',', r, c);
think it does not like strings, only integers
john
john 2011-7-7
Ok. Then I'd go with Jan's answer above -
This should give you the line broken up into (many) fields and then you just work with the fields you want.
Have you tried the import wizard and used it to generate m-code? Just double click the data file in Matlab.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by