MATLAB中readtable读取CSV时间列异常:需先在Excel扩列?
MATLAB读取CSV时间列异常的原因分析
未用Excel处理时时间被截断的原因
MATLAB的readtable会自动尝试识别列数据类型。你的CSV原文件中时间列虽为MM/DD/YYYY HH:mm:SS格式,但可能因为原文件导出时的格式问题,或Excel默认单元格宽度限制导致的隐性截断,部分时间内容实际存储为MM-DD-YYYY HH这类不完整格式。readtable自动识别时无法匹配完整时间格式,只能按截断后的格式解析,最终显示不完整的时间。
Excel处理前两个文件后读取第三个文件报错的原因
- Excel打开并保存CSV文件时会自动修改文件内容:你扩展时间列后,Excel会把原本截断的时间补全为完整的
MM/DD/YYYY HH:mm:SS格式,甚至会将文本格式的时间转换为Excel内部日期格式后再导出,导致这两个文件的时间列格式和原文件(第三个未处理文件)完全不一致。 - 当
readtable循环读取并合并数据时,前两个文件的时间列已被解析为标准datetime类型,而第三个文件的时间列仍是截断的文本/不完整时间格式。MATLAB在执行合并操作(cat)时,会尝试将第三个文件的时间文本转换为与前两个一致的datetime类型,但因格式不匹配无法完成转换,从而触发Error using datetime/cat的错误。
内容的提问来源于stack exchange,提问作者czar1249
相关产品推荐
相关产品推荐

