Matlab 传递带有日期时间的.txt文件&;数字
我试图在Matlab中导入一个.txt文件(下面是随机行示例),我想从一个数组(yyyy-mm-dd-hh-mm-ss)中的前2列和单独数组中的其他变量中提取日期时间。任何帮助都将不胜感激。提前谢谢Matlab 传递带有日期时间的.txt文件&;数字,matlab,datetime,import,Matlab,Datetime,Import,我试图在Matlab中导入一个.txt文件(下面是随机行示例),我想从一个数组(yyyy-mm-dd-hh-mm-ss)中的前2列和单独数组中的其他变量中提取日期时间。任何帮助都将不胜感激。提前谢谢 [2018-09-02 23:43:28 25081.98851852 6814.4920 0.0003411 87.40215 8.98677 92.81546 299.03342 ]您可以使用读取任何格式的数据,并获取单元格数组中的所有列。这将导致在1x9单元阵列中的情
[2018-09-02 23:43:28 25081.98851852 6814.4920 0.0003411 87.40215 8.98677 92.81546 299.03342
]您可以使用读取任何格式的数据,并获取单元格数组中的所有列。这将导致在1x9单元阵列中的情况,其中每个单元将包含每行的数据
% load file and scan the text
fileID = fopen('data.txt');
text_data = textscan(fileID,'%s %s %f %f %f %f %f %f %f');
fclose(fileID);
% obtain date and time in string format
date_cell = cell2mat([text_data{1} repmat({' '}, size(text_data{1})) text_data{2}]);
% convert to datetime
dates = datetime(date_cell,'InputFormat','yyyy-MM-dd HH:mm:ss');
% convert rest of data to matrix
data = [text_data{3:end}];
使用%s
将日期和时间作为字符串导入,使用%f
将其他列作为双精度导入
repmat({'},size(text_data{1}))
创建一个带空格的列,以分隔日期和时间来连接字符串,并将其转换为日期时间