0
我有一個xml文件,有一些數據,我正在提取並放置在一個numpy記錄數組中。我打印陣列,我看到數據位於正確的位置。我想知道如何將這些信息放在我的numpy記錄數組中並將其放置在一個表中。當我打印記錄時,我也收到了字母b,我該如何解決?如何從python的數組中獲取記錄到表中?
XML數據
<instance name="uart-0" module="uart_16550" offset="000014"/>
<instance name="uart-1" offset="000020" module="uart_16650"/>
代碼在Python
inst_rec=np.zeros(5,dtype=[('name','a20'),('module','a20'),('offset','a5')])
for node in xml_file.iter():
if node.tag=="instance":
attribute=node.attrib.get('name')
inst_rec[i]= (node.attrib.get('name'),node.attrib.get('module'),node.attrib.get('offset'))
i=i+1
for x in range (0,5):
print(inst_rec[x])
輸出
(b'uart-0', b'uart_16550', b'00001')
(b'uart-1', b'uart_16650', b'00002')
「桌子」是軟的嗎?一個2-D numpy數組?一個HTML'
表是什麼意思?你的意思是數據庫?如果是這樣,哪個數據庫?從那裏你可以搜索'如何插入MYDB'。 – postelrich
你可能想看看'tabulate'模塊。那就是如果你字面意思是一張桌子。該模塊能夠處理字典,列表,numpy數組和其他結構化數據,然後將它們格式化爲HTML,降價,乳膠和純文本查看。 [tabulate](https://pypi.python.org/pypi/tabulate) – Ajay
回答
您正在使用Python3,它使用unicode字符串。它顯示
b
的字節字符串。 xml文件也可以是字節,例如encoding='UTF-8'
。通過在打印之前將字符串傳遞到
decode()
,您可以擺脫b
。更多關於寫入在PY3
csv
文件Numpy recarray writes byte literals tags to my csv file?在測試中,我可以通過使
inst_rec
陣列使用Unicode字符串('U20'
)產生
簡化顯示and
爲ASCII表顯示
如果你想要的東西票友你需要指定顯示工具 - HTML,RTF文本等
與加包
prettyprint
:產生
在Python3我仍在使用unicode的D型。如果任何字符串都是字節,則
prettyprint
將顯示b
。來源
2015-10-07 00:06:21 hpaulj
嗨,非常感謝你!很好的答案,但是有沒有什麼方法可以用python中的實際表格顯示數據? – GoldenEagle
實際表格?用細線劃分細胞? – hpaulj
是的,細胞不必像excel那樣可移動或任何幻想。只想在表格中顯示信息。 – GoldenEagle
爲了避免打印
b'xxx'
,試試這個:來源
2015-10-06 21:19:18
這個答案是正確的,但一些細節丟失:@ user3757208你正在面對[bytestrings](https://docs.python.org/ 3/library/stdtypes.html#bytes)和建議的[.decode()](https://docs.python.org/3/library/stdtypes.html#bytes.decode)方法你擺脫了那個b' '符號,因爲它不再是字節串。 – colidyre
相關問題