我已經從pdf中提取了一些數據。它具有幾乎像XML的數據,看起來像這樣 "(1) Data-field-1 (3) Data-field-3 (5) Data-field-5; (1) Data-field-1 (2) Data-field-2 (3) Data-field-3 (5) Data-field-5; ; (2) Data-field-2 (3) Data-field-3 (5) Data-field-5 (6) Data-field-6;"
等準xml提取2個開始標記的文本
因此,對於每個條目,數據字段以(x)開頭。通常輸入以分號(;)結尾,但數據字段中經常出現分號,因此我無法將其用作分隔符。新紀錄已經發生的唯一指標是開始標記中的整數小於前一個。標籤是從1到6.我想嘗試獲得一個詞典詞典,看起來很像JSON,例如
{'Row1':{1 : 'Data-field-1', 3 : 'Data-field-3', 5 : 'Data-field-5'},'Row2': {1: 'Data-field-1', 2: 'Data-field-2', 3: 'Data-field-3' 5: 'Data-field-5'},Row3': { 2: 'Data-field-2' ,3: 'Data-field-3' ,5: 'Data-field-5',6: 'Data-field-6'}
等
嘗試使用正則表達式在Python中做到這一點,這是我對這場比賽最後一段代碼 火柴:
inner_dict={}
test=filter(None, re.split(";", match))
print test
for i,x in enumerate(test):
if i==0 :
inner_dict[1]=x
else:
y=re.findall('\((\d)\)',x)[0]
inner_dict[y]=re.findall('\(\d\)\s(.+)',x)[0]
outer_dict[n]=inner_dict
n+=1
但剛開追溯錯誤(列表索引範圍),因爲數據字段中有額外的分號 有關如何做得更好的任何想法?