我有大量需要清理的 csv 文件。 所有這些文件都具有相同的格式,這使任務變得容易一些。 我的初始 csv 文件具有以下格式:
| 物品配方:(001) 48pt | | | | | |
| 舞台配方:48pt | | | | | |
| 批次編號:Prod1 | | | | | |
| 物品編號:42 | | | | | |
| 日期/時間:2017 年 5 月 1 日下午 4:28:56 | | | | | |
| | | | | | |
| 觀點 | 測量 | 獲得 | GFit | X | 是 |
| 1 | 12.3 | 99.7 | 0.99 | 1 | 1 |
| 2 | 12.2 | 99.9 | 0.98 | 2 | 2 |
| 3 | 12.1 | 99.8 | 0.98 | 3 | 3 |
前 6 行需要清理。 我正在考慮將前 6 行放入一個新表中並將它們轉置。 移調後,將表格與其他部分連接起來。 我理想的 JMP 表如下:
| 物品配方: | 階段配方: | 批次編號: | 商品編號: | 約會時間: | 觀點 | 測量 | 獲得 | GFit | X | 是 |
| (001) 48 點 | 48pt | 產品1 | 42 | 2017 年 5 月 1 日下午 4:28:56 | 1 | 12.3 | 99.7 | 0.99 | 1 | 1 |
| (001) 48 點 | 48pt | 產品1 | 42 | 2017 年 5 月 1 日下午 4:28:56 | 2 | 12.2 | 99.9 | 0.98 | 2 | 2 |
| (001) 48 點 | 48pt | 產品1 | 42 | 2017 年 5 月 1 日下午 4:28:56 | 3 | 12.1 | 99.8 | 0.98 | 3 | 3 |
| | | | | | | | | | | |
我正在嘗試一個 jsl 腳本,但目前它超出了我的能力。 有人可以告訴我如何實現這一目標嗎?
謝謝
很好地描述了這個問題,我認為你的計劃會奏效。 您可以使用文本導入預覽嚮導來完成部分工作。 通過將行數限制為 5,您可以獲得標題,通過選擇固定寬度的字段,您可以獲得兩列(或者空格,複數,對於分隔符會更好)。 (如果我對您數據的剪切和粘貼弄亂了製表符和空格,您可能需要稍微調整列分隔符)。 源腳本在表中,您可以為更大的腳本獲取它的副本:
Open(
"C:\Users\v1\Desktop\x.txt",
columns(
Column( "c000001", Character, "Nominal" ),
Column( "c000002", Character, "Nominal" ),
Omitted Column( . )
),
Import Settings(
Fixed Column Widths( 13, 28, 98 ),
Strip Quotes( 0 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 0 ),
Column Names Start( 1 ),
Data Starts( 1 ),
Lines To Read( 5 ),
Year Rule( "20xx" )
)
)
First five linesFirst five lines前五行
接下來,再次導入,跳過 5 行,並獲取該腳本:
Open(
"C:\Users\v1\Desktop\x.txt",
columns(
Column( "Point", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Measurement", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Gain", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "GFit", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "X", Numeric, "Continuous", Format( "Best", 12 ) ),
Column( "Y", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 7 ),
Data Starts( 8 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
Data at bottom of fileData at bottom of file文件底部的數據
上面的所有 JSL 都是由文本導入預覽嚮導編寫的,並存儲在附加到表的源腳本中。
The Subset section has part of the answerThe Subset section has part of the answer子集部分有部分答案