如何导入MATLAB在Mac Excel数据
77(30天)
显示旧的评论
我需要导入Excel表主要包含日期和金融工具的价格。我读过xlsread不工作在Mac和我想知道如果有人可以解释为什么,如果有个队伍工作。
我曾经尝试过readtable但它也存储在数字和日期我错误当试图将这些转化为数组。我也试着将excel转化为CSV但这似乎工作。我也会错误当试图应用MATLAB函数yearfrac和datenum手动导入数据。
有什么方法可以绕过手动导入或安装windows虚拟机?
谢谢你!
接受的答案
Guillaume
2020年4月29日
“我读过xlsread不工作在Mac和我想知道如果有人可以解释为什么如果有个队伍工作。”
这并不完全正确。
xlsread
如果使用Mac工作
“基本”
选项(默认情况下mac电脑上我相信)。“基本”选项
xlsread
直接解析excel文件而不是与excel中提取数据。然而,随着足够复杂的excel文件,
xlsread
可能无法正确解析该文件。
即使你可以使用
xlsread
mac,你还是最好使用
readtable
,
readmatrix
,有限公司他们改进
xlsread
。默认情况下在R2020a,
readtable
解析Mac excel文件直接和工作。就像
xlsread
这个过程,可能会有实例失败但总的来说这是不应该的。
如果你想知道事实真相,
xlsread
在基本模式
readtable
当
“UseExcel”
是真的,开始Excel,问Excel打开文件,然后问Excel电子表格的内容读。这可以保证正确读取这个文件,因为它与excel的excel这样做但是沟通只能在Windows上,因为它使用的机制(称为COM或ActiveX)只能在Windows上。这需要苹果和微软合作实现mac电脑,我不会屏住呼吸……
“我已经试过readtable但它存储的日期数字”
不应该这样,但如果你应该能够使用数字转换回日期
“ConvertFrom”、“excel”
选择
datetime
。
“这给了我错误当试图将这些转化为数组”
你做错了什么。没有细节,你在做什么没有错误消息的文本,很难帮助你。
“我也试着将excel转化为CSV但这似乎工作。我也会错误当试图应用MATLAB函数yearfrac和datenum手动导入数据”。
再一次,没有足够的细节你在做什么或者错误。
“有什么办法可以绕开手动导入或安装windows虚拟机?”
使用
readtable
,
readmatrix
,或
readcell
。在你的情况中,我使用
readcell
阅读整个表格然后读取所需的数据单元阵列。注意你的电子表格的设计很适合人类的读者,但真的不适合处理程序。
allcontent = readcell(文件名);%应该工作相同的Mac和windows
日期。解决= allcontent {8, 5};%应该已经一个datetime比datenum要好得多。别转换为datenum !
dates.depos = cell2mat (allcontent (11:18 4));%已经datetime
日期。期货= cell2mat (allcontent (12:20, 17:18));%又没有更多的事情要做
%等。剩下的文件。使用cell2mat提取单元阵列的相关部分