我收到大量数据,数百到数千行。格式一样,大概50行数据,然后同类型的数据重复。我知道数据代表什么,但收到的数据不包含这个。
所以收到的数据将如下所示:
Value(int): 703
Value(int): 12
Value(int): 58
Value(int): 0
Value(int): -1
Value(int): 88
Value(string): 272
Value(string): 01
Value(int): 61
Value(int): 0
Value(int): 0
但我知道每件事的含义,例如:
fcn:Integer
Range: 0 to 16383
Code:Integer
Range: 0 to 511
CountryCode:String
^\d{3}$
NetworkCode:String
所以这些重复,什么是解析这些数据的简单方法,以便我可以查看每个重复系列的第一个元素等等来比较它们?我可以做一个结构吗?我需要字典吗,或者我该怎么做?我不确定这些问题是否被允许,基本上想知道你会怎么做以及为什么。
这是一轮重复数据,我坚持每个值的每个名称是什么。所以我会在哪里收到Value(int): 1
我知道它是Band Name
:
Band Name:
Value(int): 1
Cell Scan Time
Value(string): 2013-04-03T08:21:10Z
Sequence:
Sequence:
ARFCN/UARFCN --->2112.8 MHz DL / 1922.8 MHz UL
Value(int): 10564
RSSI
Value(int): 39
BSIC/SCODE
Value(int): 263
RXQUAL
Value(int): 0
FREQ OFFSET
Value(int): 9
FREQ QUAL
Value(int): 90
MCC
Value(string): 272
MNC
Value(string): 05
LAC
Value(int): 67
RAC
Value(int): 67
RNC Identity
Value(int): 708
Cell ID
Value(int): 130
CPICH TX POWER
Value(int): 31
Patch Loss
Value(int): 102
CPICH EC over N0
Value(int): -5
CPICH RSCP
Value(int): -76
RXLEV + CPICH EC
Value(int): 0
TX Diversity
QQUAL MIN
Value(int): -20
QRXLEV MIN
Value(int): -111
HCS Priority
Value(int): -1
DeltaQHcsRscp
Value(int): -1
Scan Temperature
Value(int): 0
以下内容仅在每收到几组数据时重复一次,其余的始终以相同的格式重复:
Band Name:
Value(int): 1
Cell Scan Time
Value(string): 2013-04-03T08:21:10Z
Sequence:
Sequence:
完整的输出示例: http: //pastebin.com/ArGfm2cD
编辑:
我的数据当前存储在一个变量中:
proc = subprocess.Popen(cmd_rancli, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
proc_stdout = proc.communicate(ran_opt_get_access_data)[0]
print proc_stdout