使用VISA read读取,一天大概100万个点,一次实验可能要二十几天。现在是以数组的形式先将数据存在while的循环的寄存器里,然后等结束实验时再用写入电子表格存成csv格式的文件。测试了几次,会出现内存溢出的情况,请问这是不是labview寄存器里的数组太大造成的?还有就是用Excel打开csv文件,一次只能显示100多万行,请问有没有什么好的方法解决这个问题,最好是能存成csv文件,然后每存100万行换一列,这样就能存很多天的数据了
您好,你需要的功能楼上已经提供了很好的解决思路的了。
实际上使用“写入带分隔符电子表格”这个vi就很容易实现这个功能。
可以在电脑内存里面用一个数组来存一定量的数据点(简单的实现方式就是把写入缓存操作扔循环里面),然后打开这个csv将数据存到第一列,然后将内存里面缓存的数据清掉,再重新存,存够了再写到第二列。
就是单纯的文件I/O操作而已,还是挺容易的,而且“写入带分隔符电子表格”这个vi写csv还是挺便捷的。
你也可以将不同天的写到不同的文件里面,这样就不会那么占用电脑内存了。因为你写到第20天以后,每一次将数据写进去实际上都要先在后台打开这个文件,所以可能会很消耗系统资源的。
希望能帮到您!