Мне нужно разделить и нарезать этот текст, когда дана строка, подобная этой:
big_str = "[41.386263640000003, -81.494450689999994] 6 2011-08-28 19:02:28 yay. little league world series!\n[42.531041999999999, -82.90854831] 6 2011-08-28 19:02:29 i'm at holiday inn express suites & hotel roseville mi (31900 little mack ave., at masonic blvd., roseville)\n[39.992309570000003, -75.131119729999995] 6 2011-08-28 19:02:29 @_tweetthis what dorm r you in?\n[54.104106119999997, 28.336019929999999] 6 2011-08-28 19:02:29 @andykozik круто !!!\n[25.787949600000001, -80.132949600000003] 5 2011-09-03 05:40:14 pizza rustica #ftw"
Я сделал это с помощью этого кода:
def getLatitude(l):
for x in l:
y = list(x.split("\t"))
for h in y:
j = list(h.split("]"))
w = j[0]
x = len(w)/2
v = w[1:x-1]
z = float(v)
return z
continue
def getLongitude(x):
y = list(x.split("\t"))
w = y[0]
x = len(w)/2
v = w[x+1:-1]
z = float(v)
return z
def getGpsPixelX(x):
y = (getLongitude(x) + 180) * 500.0/360
return y
def getGpsPixelY(y):
x = 500 - ((getLatitude(y) + 180) * 500.0/360)
return x
line_list = big_str.split("\n")
getGpsPixelY(line_list)
Мне нужно, чтобы числа в скобках были возвращены в getGpsPixel
X
или Y
, поэтому я попытался выполнить сплайсинг и расщепление, но иногда это приводит к ошибке в функции get Latitude, когда я помещаю два разбиения .. .и не только это, но и даст значение только первой строки, а не других строк постов. Я не уверен, почему, поскольку это цикл for ...