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#
Windows에서 실행 중일 때 빈 문자가 없습니까? "matches [z] [1]"은 정규 표현식의 결과처럼 보입니다. 어쩌면 당신의 정규 표현식이 윈도우에서 다른 값을 반환 할 수도 있습니다. – hago
더 많은 코드를 게시하고'matches [z] [1]'의 값을 살펴보십시오. 두 시스템간에 다른 점이 있습니까? 내 다른 추측은 귀하의 코드에서 무언가가 윈도우 개행 문자 (\ r \ n)와 맥 OSX 개행 문자 (\ n)에 민감하다는 것입니다. – qwwqwwq
전체 코드를 포함하도록 질문이 업데이트되었습니다. – user2547977