導入兩行作為標題的 csv你好,
我正在處理相對較大的 csv 文件 (±150MB),這些文件以需要合併為列標題的兩行開始。
我編寫了一個腳本,循環遍歷每一列並將列名稱設置為當前名稱+第一行的值。
問題是運行速度非常慢,有時我需要等待±10分鐘才能更改4000列的名稱。
它在某種程度上取決於文件大小,在小文件中更改相同數量的列需要幾秒鐘。
我嘗試了一些解決方法 -
1. 僅對第一行進行子集化並更改所有列名稱(非常快)。 然後我想我會連接原始表,但我不能這樣做,因為現在的列名不一樣。
2. 按照建議更新 CSV 導入設置這裡。但我仍然沒有看到包含兩行作為標題的選項。
3. 將文件導出為 xls,然後導入,並以兩行作為標題。導出時間比原始列名更改的時間長。
我是否缺少另一種解決方法,也許有一個選項可以根據列表更改所有列名稱?
預先感謝幫助者。
大規模定制回复:導入兩行作為標題的 csv您可以嘗試導入多個文件,即使只導入一個文件。 可能會更快,並且支持多個行標題。
File->Import Multiple FilesFile->Import Multiple Files文件->導入多個文件
回复:導入兩行作為標題的 csv你好@蘭斯,
如果使用 JMP 打開文件並取消選擇“使用默認程序打開”框。 取消選中以文本形式打開。”,然後選擇單選按鈕“數據(使用預覽)”;確保選擇 JMP 打開窗口中的所有文件 (*.*)。

然後,您可以選擇一些重要的分隔符和其他內容,包括數據從哪一行開始,因此如果有兩行作為標題,您可以跳過一行,然後將數據開始設置為第 3 行或其他行。

然後,您可以打開數據表中的“源”腳本,根據需要編輯導入設置,並在 JSL 程序中使用該腳本。

或者,如果您可以將其重新保存為 XLSX 文件,則可以使用 Open() 命令並定義要打開的選項卡、要開始/停止的列以及要開始/停止的行以及具有多行作為標題。 這應該可以解決您必須重新命名列的問題。

我要提到的最後一個選項是,如果您知道列名稱並且它們不會更改,那麼在您的腳本中,您可以有一個列表 ColNames ={"...", "...",.. .} 將所有正確的名稱放在引號中,並在列表中用逗號分隔。 然後,加載 CSV 文件後,您可以運行 For 循環以根據 ColNames 中的條目重命名每列。 例如:
dt=Current data table();//or whatever your data table name is.
icols=.;//variable to count through the columns
For(icols=1, icols<=N Columns(dt), icols++,
Column(dt, icols) <<SET name=""></SET>
希望其中之一有幫助!
祝你好運,
DS