如何将 libreoffice 中的数据导入 Matlab
Posted
技术标签:
【中文标题】如何将 libreoffice 中的数据导入 Matlab【英文标题】:how to import data from libreoffice into Matlab 【发布时间】:2013-09-27 06:48:32 【问题描述】:我在 Lib-re Office 3.5 中有一个文件,其中仅包含 1 行但包含数千个数据。如何在 Matlab 中导入? 我尝试使文件成为 .DAT 扩展名,但出现以下错误: ">> 文件名='z.dat';
M=csvread(文件名) 使用 csvread 时出错(第 37 行) 找不到文件。”
【问题讨论】:
您在正确的目录中吗?如果您在命令窗口中键入ls
,您会在结果中看到“z.dat”吗?另请注意,文件名区分大小写。
正如我在您的另一个问题 (***.com/questions/19020238/…) 中已经告诉您的,将您的电子表格保存为 csv 文件并使用 csvread
导入您的数据。确保 *.csv 文件存在并且 MATLAB 可以找到它。
不,我做 ls 时看不到 z.dat..
我在 >> cd /usr/local/MATLAB/R2011b/bin 目录..
【参考方案1】:
解决方案是保存在 csv 文件中。 但我的问题是我无法看到我的数据,请记住我对 Matlab 很陌生..因此使用命令它可以完美运行..
filename='z';
M=csvread(filename)
#i obtain my list of data,, now i have to eliminate all zeros. hence,
M=M(M~=0)
那么一切都很好..:)
【讨论】:
【参考方案2】:虽然csvread
方法适用于.dat
文件,但最好按照其他人的建议将文件保存为.csv
格式。我的回答与您在代码中遇到的错误有关,即“找不到文件”错误。
最好提及您要读取的文件的完整路径。因此,如果您的文件名为z.csv
存在于/usr/local/MATLAB/R2011b/bin
,那么您应该编写以下代码:
filename = '/usr/local/MATLAB/R2011b/bin/z.csv';
M = csvread(filename);
这将自动确保您访问正确的文件,即使您可能不在 MATLAB 中的正确文件夹中。即使您没有通过键入ls
看到您的文件,您的代码仍然可以访问它。如果您更改路径,请确保更新路径。
【讨论】:
【参考方案3】:看看fread。此函数可以根据需要加载 .dat 或 .bin。请务必传递您要加载的类型。像uint8=>uint8
会读取 uint8 中的值并保存在 matlab 中的 uint8 下。您无需指定=>uint8
,但它会提高性能。
【讨论】:
以上是关于如何将 libreoffice 中的数据导入 Matlab的主要内容,如果未能解决你的问题,请参考以下文章
用于 CSV 导入的 Libreoffice Calc 模板
如何插入数据 url/二进制文件以替换 libreoffice writer 文档中的图像?
如何防止 LibreOffice Calc 将 CSV 保存为 text/html?