我试图从一个变量中得到两个列,这个变量是我以前的代码中得到的
让我们举一个我得到的变量(北欧格式和地震saff)的例子,这个变量叫做data
STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7 PB11 BZ IP D 6 9 31.76 62 -0.4810 350 221 PB11 SZ IAML 610 18.65 486.2 1.70 350 221 PB08 BZ IP C 6 9 39.09 62 6.2310 353 210 PB08 SZ IAML 610 30.80 232.5 1.80 353 210 PSGCX BZ IP D 6 9 31.60 62 -3.9110 372 228 PSGCX SZ IAML 610 55.47 317.5 2.50 372 228 PB01 BZ IP D 6 9 46.54 62 -1.70 9 457 207 PB01 SZ IAML 611 7.26 160.1 3.10 457 207 MOCB SZ IP C 6 9 48.34 62 -2.06 9 470 156 PB09 BZ IP C 610 9.79 62 11.72 9 523 200 PB09 SZ IAML 611 51.60 478.4 3.00
目标变量是HRMM SECON(hour Minite Senond),通常是从19到29的位置
我想把H变量中的小时,M变量中的分钟和S变量中的秒分开,就像这样
H=[6,6,6,6,6,6,6,...] Min=[9, 10, 9, 10, 10, 11,....] Seconds=[31.66,18.55,....]
我试着做这个代码
oo=[]
for line in data:
parte=line.split('\n')
limp=parte[0]
print limp
for linne in limp:
linne=limp.strip()
oo.append(linne[19:29].split('\n'))
print oo
但不幸的是我不能这样。我是这样的
00=[6 9 31.33, 6 9 31.33, 6 9 31.33, 6 9 31.33, ......]
很多次都是一样的,总是一样的数字,没有像我给你看的那样分开
我试着这样修改代码
for line in data:
parte=line.split('\n')
if len(parte) > 1:
#print parte[0]
for lline in parte:
partes=lline.strip('')
partes=lline.split('/t')
print partes
我明白了:
[' STAT SP IPHASW D HRMM SECON CODA AMPLIT PERI AZIMU VELO AIN AR TRES W DIS CAZ7']
['']
[' PB11 BZ IP D 6 9 31.76 62
-0.4810 350 221 ']['']
[' PB11 SZ IAML 610 18.65 486.2 1.70
350 221 ']['']
[' PB08 BZ IP C 6 9 39.09 62
6.2310 353 210 ']['']
你能帮个忙吗?非常感谢你的时间
托尼诺
亲爱的所有人,我找到了一个解决办法,我想知道如果这是一个Python的方式来做这件事,请随时评论
indexStat=0
HMS=[]
for i in range(len(data)):
if data[i].find("STAT ")>=0:
indexStat=i
break
for j in range(indexStat+1,len(data)):
ll=data[j]
res=(ll[18:29])
print res
这些行让我从HRMM SECON获得数据,我没有改变计数的地方得到它们,有没有人有更好的想法,它的工作,但我相信有一个python的方法来做这件事
非常感谢
托尼诺
目前没有回答
相关问题 更多 >
编程相关推荐