2012-04-11 31 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 

改变格式字符串需要比转换的日期。

相关问题