从 excel 文件中读取 datenum 而不是 datestr
reading datenum instead of datestr from excel file
我正在尝试从 excel sheet 读取测试 table ,我的 excel sheet 看起来像这样
Building location start_date start_time end_date end_time number
Test_Building 1.08 12.06.2016 19:00 12.06.2016 19:30 7
现在,当我使用 :
在 matlab 中将其作为 table 阅读时
R = readtable('testtable.xlsx','ReadVariableNames',1)
我得到了类似的东西
R =
Building location start_date start_time end_date end_time number
_______________ ________ ____________ ____________ ____________ ________ ______
'Test_Building' 1.08 '12.06.2016' 0.79167 '12.06.2016' 0.8125 7
现在,如果您注意到 start_time
和 end_time
是以 datenum
格式而不是 datestr
格式检索的,那么当我检索这些时,我该如何节省时间呢? datestr 格式的变量 ?
这里要意识到的关键是,如果你在Excel中使用日期,它不会存储为字符串,而是存储为相应的datenum。特别是,打开同一个文件的两个人可能会根据他们的设置看到不同的字符串。
因此不存在'getting the date string from excel'。
有一些解决方法,例如将您的日期作为字符串存储在 excel 中(如您在评论中提到的那样)。然而,这并不总是可能的。
也许甚至可以加载字符串,因为 Excel 会根据您当前的设置显示它,但这当然不是很便携,如果您更改设置,您很容易遇到麻烦因为后面在Matlab中的计算将不再符合格式。更不用说您需要单独解析具有不同格式的日期列,即使它们在同一个文件中。
因此,我推荐以下内容:
读取 datenum,并在 MATLAB 中解析它
当然你可能想要一个日期,但即使你将它解析为一个字符串,这仍然是推荐的通用解决方案。
你在评论中提到你想使用 datevec,因此你应该能够使用这两个选项之一:
DateVector = datevec(DateNumber)
根据您的来源,您可能需要从数字中添加或减去一个常数以获得正确的日期。 (可能 Excel 不需要这个,但只需尝试一次。)
我正在尝试从 excel sheet 读取测试 table ,我的 excel sheet 看起来像这样
Building location start_date start_time end_date end_time number
Test_Building 1.08 12.06.2016 19:00 12.06.2016 19:30 7
现在,当我使用 :
在 matlab 中将其作为 table 阅读时R = readtable('testtable.xlsx','ReadVariableNames',1)
我得到了类似的东西
R =
Building location start_date start_time end_date end_time number
_______________ ________ ____________ ____________ ____________ ________ ______
'Test_Building' 1.08 '12.06.2016' 0.79167 '12.06.2016' 0.8125 7
现在,如果您注意到 start_time
和 end_time
是以 datenum
格式而不是 datestr
格式检索的,那么当我检索这些时,我该如何节省时间呢? datestr 格式的变量 ?
这里要意识到的关键是,如果你在Excel中使用日期,它不会存储为字符串,而是存储为相应的datenum。特别是,打开同一个文件的两个人可能会根据他们的设置看到不同的字符串。
因此不存在'getting the date string from excel'。
有一些解决方法,例如将您的日期作为字符串存储在 excel 中(如您在评论中提到的那样)。然而,这并不总是可能的。
也许甚至可以加载字符串,因为 Excel 会根据您当前的设置显示它,但这当然不是很便携,如果您更改设置,您很容易遇到麻烦因为后面在Matlab中的计算将不再符合格式。更不用说您需要单独解析具有不同格式的日期列,即使它们在同一个文件中。
因此,我推荐以下内容:
读取 datenum,并在 MATLAB 中解析它
当然你可能想要一个日期,但即使你将它解析为一个字符串,这仍然是推荐的通用解决方案。
你在评论中提到你想使用 datevec,因此你应该能够使用这两个选项之一:
DateVector = datevec(DateNumber)
根据您的来源,您可能需要从数字中添加或减去一个常数以获得正确的日期。 (可能 Excel 不需要这个,但只需尝试一次。)