在 JMP 13 中合併 CSV你好,
我喜歡在給定目錄中合併幾個 CSV 文件。 這些文件格式相似,但也喜歡在標題後跳過幾行,只保留第一個文件的標題。 合併文件後,我可以對合併後的文件進行分析。 我查看了 JMP 社區,但沒有找到最佳解決方案。 感謝您幫助我提供執行此操作的腳本。 謝謝。
回复:在 JMP 13 中合併 CSV謝謝吉姆。 我能夠使用 Word() 函數讓它工作。 感謝您的支持。
回复:在 JMP 13 中合併 CSV謝謝吉姆。 我主要閱讀 Pick File() 並認為有一種方法可以做到這一點。 我會嘗試你的建議並讓你知道。 再次感謝。
回复:在 JMP 13 中合併 CSV1. 我強烈建議您閱讀腳本指南……您需要查看 JSL 中可用的不同項目……
您所要求的解決方案是簡單地從完整路徑的末尾刪除文件名。在JSL中,有各種各樣的字符處理函數。看:
幫助==>腳本索引==>函數==>字符
具體來說,需要使用Word()函數
completefilename = "/C:/Users/txjim/Parameter Ranking/Parameter Ranking_v8 with private.jsl";
filename = Word( -1, completefilename, "/" );<BR />show( filename );
文件名的值為“Parameter Ranking_v8 with private.jsl”
回复:在 JMP 13 中合併 CSV謝謝吉姆。 我使用了 Pick File() 但我只需要文件名而不是完整路徑/文件名信息。 有沒有辦法獲取文件名?
prefilelist = Pick File(
"Select JMP File",
"",
{"JMP Files|jmp;jsl;csv", "All Files|*"},
1,
0,
"",
multiple // save flag is 0, allows multiple file selection
);
show(prefilelist);
感謝您一直以來的支持。
回复:在 JMP 13 中合併 CSV在腳本索引中,您將找到使用 Pick File() 的定義和示例。這將允許您選擇文件。
回复:在 JMP 13 中合併 CSV感謝大家的大力支持。 我還希望能夠選擇目錄並選擇單個 csv 文件,而不是選擇目錄中的所有 csv 文件。 我正在使用 Byron (JMP) 編寫的腳本並附在此處。 它工作得很好,但如果有人可以幫助我選擇單個 csv 文件,那將非常有幫助。 謝謝
回复:在 JMP 13 中合併 CSV謝謝。 我正在嘗試為 JMP13 進行 csv 合併,很高興聽到 JMP14 可以處理這個問題。 是時候升級了!!
回复:在 JMP 13 中合併 CSV謝謝。 我也試過你的,效果很好。
回复:在 JMP 13 中合併 CSVJMP 14 具有多文件導入功能。 它旨在從目錄加載文件並合併相似的文件(相同的列、名稱)。 它可以將文本文件加載到文本瀏覽器的數據表中,或使用標題的 CSV 選項並跳過某些行將 CSV 文件加載到表中。
Choosing files from a directoryChoosing files from a directory從目錄中選擇文件
CSV optionsCSV optionsCSV 選項
回复:在 JMP 13 中合併 CSVdt = New Table( "Untitled", Add Rows( 4 ),
New Column( "Column 1", Character, "Nominal",
Set Values( {"abc", "1", "2", "3"} ) ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"def", "6", "5", "4"} ) ),
New Column( "Column 3", Character, "Nominal",
Set Values( {"ghi", "7", "6", "5"} ) ),
New Column( "Column 4", Character, "Nominal",
Set Values( {"jkl", "2", "3", "4"} ) )
);
// Rename each column to the first row
for (i = 1, i <= ncols(dt), i++,
column(i) << set name(column(i)[1]);
);
// Remove the first row
dt << delete rows([1]);回复:在 JMP 13 中合併 CSV謝謝。 它工作得很好。 我最不想做的是將列名設置為與第一行值相同,然後刪除第一行。
回复:在 JMP 13 中合併 CSV這段代碼應該可以解決問題。用途獲取行代替選擇哪裡.
dt = New Table( "Test", Add Rows( 5 ),
New Column( "Column 2", Character, "Nominal",
Set Values( {"ABC", "ABC", "DEF", "DEF", "ABC"} )
)
);
abc_rows = dt << get rows where(:Column 2 == "ABC");
nr = nrows(abc_rows);
if (nr > 1,
abc_new = abc_rows[2::nr];
dt << delete rows(abc_new);
);
回复:在 JMP 13 中合併 CSV謝謝。 這樣可行。 現在我想遍歷表格的每一行並刪除除第一行外的第 2 列 =“ABC”。
我做了這樣的事情:
dt = 當前數據表();
N = N 行 (dt);
對於 (i= 2, i <= N, i++,
dt << 選擇哪裡 (:Column 2 == "ABC");
);
它選擇了第 2 列 =“ABC”的所有行。 我想保留第一行不被選中。 感謝您一直以來的支持。
回复:在 JMP 13 中合併 CSV選擇行按行號選擇行。你需要使用的是
dt << 選擇哪裡( :Column 2 == "" );
回复:在 JMP 13 中合併 CSV謝謝。 我現在可以合併 csv 了。 現在我需要刪除例如“Coulmn 2”為空白的行。 我使用了以下內容但沒有用:
dt = 當前數據表():
dt << 選擇行(:第 2 列 == “”);
它只選擇一行而不是所有的空白行。 我為此使用 JMP 13。 請幫忙。 謝謝。
回复:在 JMP 13 中合併 CSV我認為能夠做到這一點的唯一方法如下:
1. 讀入每個 CSV 文件。
2. 刪除每個不需要的標題後的記錄。
3. 更改數據表 2 到 N 中的名稱,以匹配您要匹配的第一個數據表中的名稱。
4. 將表格連接在一起。
5. 將連接的文件另存為 CSV 文件。
一個非常簡單但費力的方法,因為您可能需要更改數據表。