1
數組中的值很好。如果我將它們單獨打印出來,它們會按照它們應該出來的方式打印出來,但是當我把它們放在一起時,它不會打印前兩個值,並且其餘的都是亂碼。這裏的打印片斷:打印多個數組中的值出現混亂
print '['
for i in range(1, x):
print '{\"' + fNames[0] + '\":"' + fNames[i] + '\", \"' + lNames[0] + '\":\"' + lNames[i] + '\", \"' + descs[0] + '\":\"' + descs[i] + '\"},\r'
print ']'
下面就是它輸出:
[
"},A really cool guy, "lname":"Bishop", "description
"},A really cool galname":"Patzer", "description
"},A really cool momlname":"Robertson", "description
"},A really cool dadame":"Bishop", "description
"},A really cool doglname":"Bishop", "description
"},A really cool cat"lname":"Jack", "description
]
請注意,它不輸出FNAME [0]和FNAME [1]。
如果我註釋掉的print語句像這樣的結尾:
print '['
for i in range(1, x):
print '{\"' + fNames[0] + '\":"' + fNames[i] + '\", \"' + lNames[0] + '\":\"' + lNames[i] + '\", \"' + descs[0] + '\":\"' #+ descs[i] + '\"},'
print ']'
這其中大部分是正確的,打印出除了在其中「fname」的「f」和發現它不打印出來最後的'\':\「'都是。我已經通過filter()函數運行陣列去除換行符,並確保我的正則表達式不會將它們接受。這是我如何填充陣列:
with open(file, "rb") as fin:
for line in fin:
col1Reg = re.search('^(.+?)(?=,)', line)
fNames.append(col1Reg.group(0))
col2Parsed = '(?<=' + fNames[x] + ',)(.*)(?=,)'
col2Reg = re.search(col2Parsed, line)
lNames.append(col2Reg.group(0))
col3Parsed = '(?<=' + lNames[x] + ',)(.*)(?=\n)'
col3Reg = re.search(col3Parsed, line)
descs.append(col3Reg.group(0))
x += 1
這是怎麼回事?陣列中的每件事都是正確的,處於正確的位置,爲什麼會發生這種情況?
+1「jarbled亂」 –
在所有的嚴重性,雖然,這是一個很好的問題。 –
你可以印刷陣列嗎?我的盲目猜測是在輸入中引用了一些引起混淆的東西 – immulatin