將字元列變更為日期列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
假設我們有一個表,其中有一列字元類型,日期格式為「dmy」。 給出的例子:
| 人物日期 |
|---|
| 2015年8月5日 |
| 2016年3月17日 |
| 2016年5月12日 |
我現在想將字元日期轉換為數字日期。 我知道這是一個常見問題,有很多東西要閱讀。 但是,我不明白的是以下內容:
如果我右鍵單擊該列,進入列資訊並將資料類型變更為數字,然後選擇“dmy”作為格式,一切都很好。 所有日期均已正確轉換。 但是如果我運行以下腳本:
Column("字元日期") << 資料型別(數字) << Informat("dmy") << Format("dmy");
或者
Column("字元日期") << 資料型別(數字) << 格式("dmy");
僅第一行和第三行被正確轉換。 我們的範例列的第二行之後為空,大概是因為格式被誤解為「mdy」。
這些方法(腳本/手動)怎麼可能導致不同的結果? 我該怎麼做才能讓腳本方法發揮作用?
謝謝你!
回覆:將字元列變更為日期列JMP 並不總是在 info 處使用 mdy 格式。
如果第一行中的第一個日期適合 mdy,則它使用 mdy 格式 - 無論其餘行中的內容如何。
如果第一行只能適合 dmy 格式,則使用該格式。 因此,在測試時,一切看起來都很好,直到導入的行適合 mdy 格式... 在美國,這當然不是問題,因為所有日期都以 mdy 格式顯示
JMP 15.1.0 中仍然存在這種情況,我希望這個問題能在一段時間內得到解決,因為在 JMP 中處理導入日期仍然很痛苦,儘管 .csv 和 excel 導入方面有了一些改進。
回覆:將字元列變更為日期列謝謝女士。 「區域設定日期」完成了這項工作。 但是,仍然存在 For Each 迴圈。 但我會花錢找不同的解決方案。
同時我們發現,如果您想將數位日期從 MS SQL 資料庫傳輸到 JMP,安裝適當的 ODBC 驅動程式非常重要。 「SQL Server」驅動程式不允許我們匯入數位日期,但「ODBC Driver 11 for SQL Server」可以。
回覆:將字元列變更為日期列非常非常棒
回覆:將字元列變更為日期列你可以嘗試區域設定日期格式。
Column("字元日期") << 資料型別(數字) << 格式("區域設定日期");
回覆:將字元列變更為日期列謝謝納爾遜的回答。 我運行腳本,剛剛在“字元日期”列中獲得了時間戳。 不過,我不明白為什麼 JMP 忽略 Format 命令。 我的系統:德國 Windows 7 上的 JMP 12.2.0(UTC+1;dmy)。
目前,我正在嘗試避免 For Each Row - 腳本循環,該腳本會自動將所有帶有日期的字元列轉換為數字日期。 我有這樣的解決方案,但它真的很慢。 因此我提出了上面的問題。
回覆:將字元列變更為日期列顯然,JSL 中存在正確執行轉換的問題。它似乎總是使用“m/d/y”作為訊息。下面的腳本將進行轉換
名稱預設為此處( 1 ) ;
嘗試(關閉(數據表( “測試” ) ,不保存)) ;
dt =新表( “測試” ,
新增行( 3 ) ,
新專欄( 《人物日期》 ,
特點,
“名義” ,
設定值({ “2015 年 8 月 5 日” , “2016 年 3 月 17 日” , “2016 年 5 月 12 日” } )
)
) ;
對於每一行(
:人物日期=子字串( :人物日期, 4 , 2 ) || “。” ||
子字串( :人物日期, 1 , 2 ) || “。” ||子字串( :人物日期, 7 )
) ;
柱子( “人物日期” ) <<資料類型(數字) <<格式( “日/月/年” ) ;