일부 PHP 코드를 파이썬으로 번역 중입니다. 나는 어느 쪽의 전문가도 아니야. 이것은 많이있을 수 있지만, 조금은 인정 될 것입니다.PHP를 파이썬으로 번역하기 : 식별자 당 최소 및 최대 시간 찾기
나는이 코드 조각으로 특히 고심하고있다. 여기서 우리는 식별자 식별자, 즉 row [0] row [1] row [2]를 가진다. 행 [4]는 타임 스탬프입니다. 각 식별자에 대해 우리는 '시작'과 '종료'날짜를 찾기를 원합니다. 동료가 이렇게 코드를 작성한 방법입니다. 나는 어떤 일이 일어나고 있는지 이해할 때 주석을 추가했지만 이것을 파이썬으로 번역하는 방법은 아닙니다.
지금까지 파이썬에서는 식별자 : timestamp의 사전을 만들 수 있었지만 문제의이 부분에서 성공적으로 사용할 수 없었습니다.
질문 : -이 인스턴스에서 Python에 대한 매우 명확하고 도움이되는 것이 누락 되었습니까? - 파이썬 규칙 (있는 경우)에 대한 PHP의 매핑을 쉽게 이해할 수 있습니다.
identify endpoints of time<br>
starttime<br>
endtime<br>
create 15 minute time vector while : startime < time < endtime<br>
내가 파이썬에서 지금까지이 작업은 다음과 같습니다 :
fgetcsv($inputhandle); //read input as csv
while ($row = fgetcsv($inputhandle)) { //read each line in record
$date_arr = date_parse_from_format("Y-m-d H:i:s",$row[4]); //parse timestamp
$newdate = mktime($date_arr['hour'],
$date_arr['minute'],
$date_arr['second'],
$date_arr['month'],
$date_arr['day'],
$date_arr['year']); //store each piece in array form
$endpoints[$row[0]][$row[1]][$row[2]]['end'] = $newdate; //identify endpoint
if(!isset($records[$row[0]][$row[1]][$row[2]])) {
$endpoints[$row[0]][$row[1]][$row[2]]['start'] = $newdate; //identify startpoint
}
$records[$row[0]][$row[1]][$row[2]][$newdate]=$row[5]; //row 5 holds values we care about
} 컨텍스트에 대한
, 여기에 내가 복제려고하는 과정입니다
import sys
import csv
from datetime
import time
import numpy
import itertools
//open file with csv reader
filename = open('ICUdata.csv', 'rb')
d = {} // declare dictionary variable
//read file as csv, parse
spam = csv.reader(filename, delimiter=',')
next(spam) #skip header
for row in spam: // first fill in missing values
if row[1] == '':
row[1] = '99999'
if row[2] == '':
row[2] = '99999'
//need datetime parse
datestring = row[4]
date = time.strptime(datestring, "%Y-%m-%d %H:%M:%S") // parsed datetime
//create dictionary of identifiers : realtime
k = id #need this instead of just row[0:3] which creates list
v = row[4]
if k not in d:
d[k] = [v]
#this = row[0:3].append(endpoint)
else:
d[k].append(v)
감사합니다. 내가 사용하고있는 코드를 추가해야한다는 것을 알았지 만, 지금까지 일을 제대로하고 있다는 것을 아는 것이 좋습니다. –