2013-07-08 179 views
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# 
+0

在Windows上运行时是否有前导空字符? “matches [z] [1]”看起来像正则表达式的结果,也许你的正则表达式在窗口上返回不同的值。 – hago

+0

发布更多代码,并查看'matches [z] [1]'的值,这两个系统之间是不同的吗?我的其他猜测是你的代码中的某些内容对windows换行符(\ r \ n)比较敏感,对于mac osx换行符(\ n) – qwwqwwq

+0

我已经修复了包含完整代码的问题 – user2547977

回答

0

问题解决。当我导出为CSV的excel文件创建完成后,需要删除顶部的标题