我需要读取几百个.csv
数据文件,每个文件都有固定数量的列和可变行数类型:
'%s %d %d %d %u:%u %d %s %s %s %s'
对应于:
text1 2014 2 1 1:56 -2 text2 text3 text4 text5
我需要正确导入区分分钟和小时的时间戳,并将它们存储在2个单独的列中。
我的计划的一部分:
directory_name = 'C:\Deutsche_Bank\';
filePattern = [directory_name, filesep, '*.csv'];
files = dir(directory_name);
fileIndex = find(~[files.isdir]);
fileIndex = fileIndex';
for df = 3:size(fileIndex, 1)+2; %start always from 3
fileName = files(df).name;
TempFullName = [directory_name, filesep, fileName];
fmt = '%s %d %d %d %u:%u %d %s %s %s %s';
fid = fopen('TempFullName');
MyTimeStamp = textscan(fid, fmt, 'delimiter', ',');
fclose(fid);
... more matlab for data analysis
end
不幸的是,对于这个程序,MyTimeStamp
中的输出是一组空单元格,而如果我直接指定文件:
fid = fopen('C:\Deutsche_Bank\myfile.csv');
我获得了一个很好的MyTimeStamp
,并且数据存储正确。
似乎是产生问题的循环,但我不知道该怎么做。
答案 0 :(得分:0)
您需要将fid = fopen('TempFullName')
更改为fid = fopen(TempFullName)