2012-04-11 33 views
1

不知道我是否正確表達了自己的標題,但是在這裏。我的這些都是類似的格式來此作業文件:如何將逗號分隔的日期屬性列表變成MySQL日期值?

423720,hparviz,RUN,512,22,Mar,10:38,11,April,14:06 
從這個

基本上我需要隱蔽的開始日期和結束日期的格式,讓我將其導入到MySQL(22- Mar 10:38 - 11月4日14:06或MySQL要求格式化日期)。這些數據是使用linux中的命令提取的,其中我操縱結果以允許導入到MySQL數據庫。在Linux中(在命令執行過程中),在Python中(在我顯示的狀態中)還是MySQL(在導入後),操作起來會更容易一些。

如果您需要更多詳情,請告訴我,謝謝。

+1

這在Python中非常簡單。你有哪些麻煩? – 2012-04-11 14:29:57

+0

因爲我有大約50個類似格式的其他行,我該如何選擇使用循環的日期,月份和時間? – ashleh 2012-04-11 14:34:08

+0

你可能想看看[LOAD DATA INFILE](http://dev.mysql.com/doc/refman/5.1/en/load-data.html) – nnichols 2012-04-11 14:47:21

回答

3

假設每一行看起來像你貼什麼:

f=open(filename,"r") 
listOfLines=f.readlines() 
for line in listOfLines: 
    splitLine=line.split(",") 
    print "Day of Month: "+splitLine[4]#this is an example of one piece of info. 
    print "Month: "+splitLine[5]#this is an example of one piece of info. 
+0

太棒了,謝謝。 – ashleh 2012-04-11 14:43:47

+3

考慮不使用'readlines',而是直接迭代文件。 – 2012-04-11 14:57:27

2
process to create data | awk -F, -v OFS=, ' 
    function format_date(day, mon, time) { 
    return sprintf("%s-%s %s", day, substr(mon,1,3), time) 
    } 
    {print $1,$2,$3,$4,format_date($5,$6,$7),format_date($8,$9,$10)} 
' 

輸出

423720,hparviz,RUN,512,22-Mar 10:38,11-Apr 14:06 

改變格式字符串需要比轉換的日期。

相關問題