我可能是一个菜鸟问这个问题,因为我找不到这个问题的答案。我在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'".
答案 0 :(得分:1)
%y没有世纪的年份为零填充十进制数。 00,01,..., 99
你必须改变:
date=datetime.strptime(row[0],"%Y%m%d")
为:
date=datetime.strptime(row[0],"%y%m%d")