大家好,
很多時候,我打開一個 csv 文件,其中有一列包含日期。 每隔一段時間,當我打開 csv 文件時,JMP 會將其作為字符打開。 當我嘗試將其轉換為最新版本時,該列的絕大多數行都被刪除(空)。 知道為什麼會發生這種情況嗎?
提前致謝!
我只是猜測...如果這不是答案,您將需要技術支持。 我假設您使用的是 Windows,Mac 可能也有類似的東西。 JMP 可能正在使用本地化設置,並且某些內容有所不同(也許是語言。)
windows localization settingswindows localization settingsWindows 本地化設置
再一次問好,
JMP 使用的任何程序是否可能影響文件的導入? 我已經使用了您的解決方案,它可以在多台計算機上運行,但有 1 台計算機在打開位於共享驅動器上的完全相同的 csv 文件時出現以下錯誤:
導入這些列時遇到無效數據:MeasurementDate、Other_date。
嘗試再次導入數據,但將這些列的數據類型明確設置為字符。
我們都使用 JMP12,並嘗試將他計算機上的“文本數據文件”設置與我的設置相匹配,還嘗試恢復默認設置。
有什麼建議麼?
先謝謝了!。
需要告知 JMP 使用哪種日期格式。 如果文件以明確為 d/m/y 而不是 m/d/y 的日期 (13/12/2019) 開頭,則 JMP 會正確猜測 d/m/y。 但是,當文件以不明確的日期 (11/10/2019) 開頭時,JMP 會猜測 m/d/y,然後必須處理無法轉換的後續值。 你應該總是如果使用 d/m/y,請指定格式。 您可以在腳本中執行此操作:
Open(
"E:\BadDates.csv",
columns(
New Column( "lot", Character, "Nominal" ),
New Column( "WaferID3", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "MeasurementDate", Numeric, "Continuous", Format( "d/m/y h:m", 19 ), Input Format( "d/m/y h:m" ) ),
New Column( "Other_date", Numeric, "Continuous", Format( "d/m/y h:m", 19 ), Input Format( "d/m/y h:m" ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, 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( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
我使用導入嚮導指定日期格式,然後復制來源來自導入表的腳本。
您還可以通過(同時執行這兩項操作!)將字符更改為數字並更改為正確的日期格式來轉換列對話框中的字符列。
但是你真的導入d/m/y這一列時需要指定日期格式,避免出現所有日期不明確而被假定為m/d/y的情況;在這種情況下,JMP 將無法告訴您有任何問題,但內部日期值將切換月份和日期...導致日期排序不正確,等等。
你能分享一個成功的約會和失敗的約會的例子嗎? 如果 JMP 猜測 mmddyyyy 與 ddmmyyyy 並出錯,則大量日期將變成缺失值(13 至 31 個月)。 您可以告訴 JMP 使用什麼格式(在預覽嚮導中最簡單),然後使用該腳本進行將來的導入。 當您獲取字符列時,JMP 發現一些信息表明該列不全是 JMP 識別的一種格式。 您應該指定正確的格式同時您從字符轉換為數字。
所有值都與所選格式一致嗎? 除了日期之外還有其他值嗎?
謝謝,但是當我這樣做時,我丟失了該列的絕大多數數據。 知道為什麼嗎?
選擇數據列,然後選擇列 > 列信息。 將數據類型更改為數字。 然後將格式更改為與字符串日期模式匹配的格式。 單擊“確定”。