【发布时间】:2019-04-11 15:14:39
【问题描述】:
我正在尝试读取一个 csv 文件,其中包含有关欧元/美元汇率的每日数据,包括指定年、月和日的日期。问题是使用 readtable(filename) 会在所有表条目周围加上单引号,因此完全阻碍了我使用数据。
检测导入选项:
opts = detectImportOptions('EUR_USD Historische Data.csv');
读入数据:
EUR_USD = readtable('EUR_USD Historische Data.csv');
减去日期并转换为日期时间变量:
dt = EUR_USD(:,1);
dates = datetime(dt,'InputFormat','yyyyMMdd');
% Does not work because of single quotes
我能够减去收盘价并使其可行,但我不确定这是否是一种优雅的做法:
closing_prices = str2double(table2array(EUR_USD(:,5)));
最终目标是使数据可用。我需要将两列与日期时间变量进行比较,如果两列之间的日期不匹配,我需要删除该条目,以便最终两列都匹配。
这是带有日期的向量: Dates vector wrong
我需要它看起来像这样: Dates vector correct
【问题讨论】:
-
您可以在上面编写一些命令来从向量中删除
'字符,然后将其加载到datetime函数中。 -
不确定是什么命令
-
由于
datetime可以使用字符串作为输入,您可以在调用datetime之前运行for 循环,并通过您的for 循环中的这些命令删除'字符:string_val = dt(i,1); date_val = string_val(2:end-1); -
让我发布一个答案。
标签: matlab csv variable-types