【发布时间】:2017-05-17 10:26:12
【问题描述】:
我正在使用 python 从给定 csv 文件中的日期中提取日期。
这是我的代码:
import csv
filename = "no.csv"
fields = []
rows = []
with open(filename,'r') as csvfile:
csvreader = csv.reader(csvfile)
fields = csvreader.next()
for row in csvreader:
rows.append(row)
for i in rows[0:2]:
print i
import datetime
from datetime import timedelta
import time
d = datetime.datetime.strptime(rows[4][3],'\xa0%d/%m/%Y')
print d.day
for j in range(len(rows)):
d = datetime.datetime.strptime(rows[j][3],'\xa0%d/%m/%Y')
print d.day
在我的输出中,strptime() 如果我使用rows[4][3] 提及 csv 文件中的日期,我会得到输出。但是,如果我在 for 循环中使用它,它会显示格式错误。
['', '', '(Time)', '', '', '', '', '', '']
['\xa0Nitric Oxide(NO)', '\xa000:00:00', '\xa000:14:00', '\xa001/01/2017', '120.1', '\xa0\xb5g/m\xb3', 'NA', 'NA', '']
1
Traceback (most recent call last):
File "C:/Users/RAJESH/Desktop/csv stuff.py", line 26, in <module>
d = datetime.datetime.strptime(rows[j][3],'\xa0%d/%m/%Y')
File "C:\Python26\lib\_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data '' does not match format '\xa0%d/%m/%Y'
我不知道我错在哪里。
【问题讨论】:
-
不要链接到代码图像。将代码发布在here,作为text。
-
也将您的错误消息发布为文本。