2013-07-08 5 views
0

입력란이 CSV 파일 인 라이센스 플레이트 데이터를 분석하기 위해 작성한 Python 스크립트가 있는데이 스크립트를 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' 

어떻게 내 Windows 컴퓨터에서 내 Mac에서 작업 할 수는 없지만 그것은 다음 줄에 도달 할 때 나에게 오류를 제공? 두 파이썬 버전 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]'의 값을 살펴보십시오. 두 시스템간에 다른 점이 있습니까? 내 다른 추측은 귀하의 코드에서 무언가가 윈도우 개행 문자 (\ r \ n)와 맥 OSX 개행 문자 (\ n)에 민감하다는 것입니다. – qwwqwwq

+0

전체 코드를 포함하도록 질문이 업데이트되었습니다. – user2547977

답변

0

문제가 해결되었습니다. . CSV로 내 보낸 엑셀 파일을 만들었을 때 맨 위에있는 제목이 제거되어야했습니다.