如何在 LabVIEW 中讀取非常大的 CSV 文件?

更新 Aug 23, 2023

產品資訊

軟體

  • LabVIEW

問題敘述

當我嘗試使用 Read Delimited Spreadsheet VI 從大型 CSV 文件(數百 MB)中讀取數據時 ,我收到Memory is full錯誤。

我該怎樣修改才能來解決我程式的這個問題?

解決方案

Read Delimited Spreadsheet VI 預設情況下會一次讀取整個 CSV 文件。它會將文件作為字串來讀取,然後將其轉換為數字陣列。那樣的話它就會製作多個數據副本,這可能導致記憶體已滿的錯誤。

但是,如果使用Read From Text File VI ,可以指定一次讀取的行數,因此可以只讀取部分數據,以防止內存已滿的錯誤。讀取的位置將被儲存,並且在每次循環迭代中將讀取一組新的行數。

由於數據是作為字符串讀取的,因此您可以使用隊列將數據傳輸到另一個循環中,以將它們轉換為數字陣列。建議使用並行 For 循環來提高轉換效能。

您還可以參考以下 VI 片段,了解如何在 LabVIEW 中讀取非常大的 CSV 文件。

相關資訊

注意:此圖像是一個 LabVIEW 片段,其中包含您可以在項目中重複使用的 LabVIEW 代碼。要使用片段,請右鍵點擊圖像,將其保存到您的電腦,然後將文件拖到您的 LabVIEW diagram上。