如何将 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的主要内容,如果未能解决你的问题,请参考以下文章

LibreOffice:我该如何更改日期格式的工作日名称

用于 CSV 导入的 Libreoffice Calc 模板

如何插入数据 url/二进制文件以替换 libreoffice writer 文档中的图像?

如何防止 LibreOffice Calc 将 CSV 保存为 text/html?

如何读取 ods 文档(例如 LibreOffice calc)并将其转换为 Julia 数据帧?

如何从 MySQL 数据库实时更新 LibreOffice Calc 单元格?