我一直在使用LabView捕获一些长期数据,然后将它们处理到MATLAB中。因此,我是从Labview手动将数据导出到excel。但是,我发现Labview不会将超过1048575的数据导出到excel,在我的情况下,这大约相当于47秒。对于我的任务,我需要捕获至少两分钟以上的数据。结果,我无法正常处理信号。
我假设,我的Labview一次存储的数据不超过1048575。我曾尝试提高输入分辨率,但我认为这不是解决方案。有什么办法可以将所有数据一次导出到excel?谢谢。
答案 0 :(得分:2)
对于大型数据集,我的建议是在采集样本时将其保存到磁盘上,LabVIEW将安装一些示例来演示如何进行。
写入制表符分隔的File.vi
位置:[labview root]\examples\File IO\Spreadsheet\Tab-Delimited Data\Write Tab-Delimited File.vi
此方法的重点:
Array To Spreadsheet String.vi
将示例数据转换为十进制字符串答案 1 :(得分:0)
Excel does not support more than 1048576 rows on a spreadsheet,因此在Excel电子表格(.xls
或.xlsx
)文件中保存的数据量不能超过此数量。
乔·弗里德里希森(Joe Friedrichsen)的answer是一个很好的建议:使用这种方法,您应该能够使用dlmread
并指定'\t'
作为分隔符将数据加载到MATLAB中。
或者,您可以使用LabVIEW的Write To Measurement File Express VI,但可以将其配置为以Text (LVM)
格式编写。然后,您应该能够使用来自MATLAB File Exchange的LVM file import代码将数据加载到MATLAB中。
答案 2 :(得分:0)
您可能还想简单地创建多个Excel文件,当达到大小限制时增加文件名。这样一来,您可以保留其他excel内容(例如公式,图形,宏),而仅限制传递给excel的数据集。
另一种选择是在LabVIEW中运行数据平滑或平均算法,并将较少的数据传递给excel进行报告。例如,如果您运行10点平均过滤器,只要该数据仍表示结果足以满足您的需求,您将在excel中获得所需行的1/10。