0
我有一个python脚本,我编写用于分析车牌数据的输入是一个CSV文件,我在运行Python 2.7.2的Mac上编写它,但是当我尝试运行它时我的工作电脑运行Windows 8我得到一个错误。它给了我一个错误,当它达到以下行:在Mac/Windows上运行Python脚本
t1 = datetime.strptime(matches[z][1],'%H:%M:%S')
和它说:
ValueError: time data 'TIME' does not match format '%H%M%S'
如何可以在我的Mac上工作,但不是我的Windows电脑上?两者都有Python版本2.7安装
编辑:
HH:MM:SS
编辑:在“比赛”,他们都是格式的访问元素的时候,这里是完整的代码
import csv
import difflib
from datetime import datetime
f = open('06 PM TUES.csv')
reader = csv.reader(f,delimiter=',')
data = []
for row in reader:
data.append(row)
g = open('07 PM TUES.csv')
reader2 = csv.reader(g,delimiter=',')
data2 = []
for row in reader2:
data2.append(row)
# Find Matches
matches = []
cut_through = []
for x in range(len(data)):
for y in range(len(data2)):
similarity = [difflib.SequenceMatcher(None,data[x][1],data2[y][1]).ratio()]
if (similarity[0] > .75):
if(data[x][1]!=''):
matches.append(similarity+data[x]+data2[y])
# Calculate Time Difference
for z in range(len(matches)):
t1 = datetime.strptime(matches[z][1],'%H:%M:%S')
t2 = datetime.strptime(matches[z][5],'%H:%M:%S')
if (abs(t1-t2).seconds < 91):
cut_through.append([matches[z][0],matches[z][1],matches[z][2],matches[z][5],matches[z][6]])
# Print Results to CSV
with open('results.csv','wb') as test_file:
file_writer = csv.writer(test_file)
for i in range(len(cut_through)):
file_writer.writerow(cut_through[i])
和CSV文件包含初始数据的行具有以下格式的行:
HH:MM:SS,PLATE#
在Windows上运行时是否有前导空字符? “matches [z] [1]”看起来像正则表达式的结果,也许你的正则表达式在窗口上返回不同的值。 – hago
发布更多代码,并查看'matches [z] [1]'的值,这两个系统之间是不同的吗?我的其他猜测是你的代码中的某些内容对windows换行符(\ r \ n)比较敏感,对于mac osx换行符(\ n) – qwwqwwq
我已经修复了包含完整代码的问题 – user2547977