可用时间& python 3中的日期格式

时间:2017-04-12 05:50:23

标签: python-3.x csv python-3.6

我可能是一个菜鸟问这个问题,因为我找不到这个问题的答案。我在csv文件中以YYmmDD格式的日期“170101 ,,,,,, 00:00”。一段代码:

import csv
from datetime import datetime

with open('T2_x.csv') as readcsvfile:
    readcsv=csv.reader(readcsvfile)
    header=next(readcsv)

    data=[]
    for row in readcsv:
        date=datetime.strptime(row[0],"%Y%m%d")
        time=datetime.strptime(row[6],"%H:%M")
        data.append(time,date)
        print(data)

with open('T2_xw.csv','w',newline='')as writecsvfile:
    writecsv=csv.writer(writecsvfile)
    writecsv.writerows([data])

时间格式正常(“%H:%M”)。但提供“%Y%m%d”格式会产生"ValueError: time data '170101' does not match format '%Y%m%d'".

1 个答案:

答案 0 :(得分:1)

根据documentation

  

%y没有世纪的年份为零填充十进制数。 00,01,...,   99

你必须改变:

date=datetime.strptime(row[0],"%Y%m%d")

为:

date=datetime.strptime(row[0],"%y%m%d")