我正在使用 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'
我不知道我错在哪里。
你应该在迭代时省略第一行,因为我相信它是这个文件的标题,它不包含你提供的格式的日期strptime
:
for i in range(1, len(rows)):
...
此外,在调用strptime
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句