使用strptime(Python)时出现错误信息

时间:2015-04-12 19:19:56

标签: python mysql scrapy strptime

使用strptime尝试将从网站提取的字符串转换为日期格式时,收到错误消息。我必须将提取的文本数据转换为我已经完成的字符串,但是我收到一条错误消息:

exceptions.ValueError: time data 'Sat 18th Apr 2015' does not match format '%a %d %b'.

我检查了文档,我认为我有正确的参数。我真的想以YYYY,MM,DD格式将这些信息保存到数据库中。

这就是我试图解决问题的方法

    item ['date'] = info.xpath('.//span[@class="dates"]//text()').extract() # Extract date information.
    convert = ''.join(str(t)for t in item['date'])+" 2015"
    print convert
    time.strptime(convert, "%a %dth %b %Y")

像这样插入数据库......

def process_item(self, item, spider):    
        try:
            self.cursor.execute("INSERT INTO info (venue, datez, dateForm, link, genre) VALUES (%s, %s, %s, %s, %s)", (item['artist'][0], item['date'][0], item['dateForm'][0], item['trackz'], "clubbing"))        
            self.conn.commit()
        except MySQLdb.Error, e:
            print "Error %d: %s" % (e.args[0], e.args[1])

            return item

1 个答案:

答案 0 :(得分:0)

分割后,您不需要redateutil只是rstrip字母:

from datetime import datetime

a, b, c = item["date"][0].split()

print(datetime.strptime("{} {} {} {}".format(a,b.rstrip("ndthstr"),c,"2015"),"%a %d %b %Y").strftime("%Y,%m,%d"))

2015,04,18