我在閱讀XML時遇到問題。我想獲得一個2D數組。但是,當我從XML獲取數據時,數據類型是Unicode。因此,我輸入list()。但是,結果不是我想要的。我可以用另一種方式獲得2D列表嗎?Python如何從XML等列表中獲取列表?
如何刪除u,\ n,\ t並獲得正確答案?謝謝。
abc.xml
<text>
<item id="1">
[[2, 2, 1],
[1, 0, 0],
[1, 0, 0]]
</item>
</text>
PYTHON:
import xml.dom.minidom
dom = xml.dom.minidom.parse('abc.xml')
bb = dom.getElementsByTagName('item')
b=bb[0]
l= b.firstChild.data
print l
a=list(l)
print a
輸出:
[[2, 2, 1]
[1, 0, 0]
[1, 0, 0]]
[u'\n', u' ', u' ', u' ', u' ', u'\t', u'\t', u'[', u'\n', u' ', u' ', u' ', u' ', u'\t', u'\t', u'\t', u'[', u'2', u',', u' ', u'2', u',', u' ', u'1', u']', u'\n', u' ', u' ', u' ', u' ', u'\t', u'\t', u'\t', u'[', u'1', u',', u' ', u'0', u',', u' ', u'0', u']', u' ', u'\n', u' ', u' ', u' ', u' ', u'\t', u'\t', u'\t', u'[', u'1', u',', u' ', u'0', u',', u' ', u'0', u']', u' ', u'\n', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u'\n', u' ', u' ', u' ', u' ', u'\t', u'\t', u']', u'\n', u' ', u' ', u' ', u' ', u'\t']
[Finished in 0.1s]
你將不得不在你自己的'l'變量中解析文本。 – furas
我認爲'a = eval(l)'應該可以工作 –
'eval'應該用於極端的預防措施,因爲它會優於任何代碼,而不僅僅是返回一個列表。 – MartinStettner