Xml 将dict导入数据帧时出现TypeError

Xml 将dict导入数据帧时出现TypeError,xml,pandas,lxml,stringio,Xml,Pandas,Lxml,Stringio,有关将lxml.etree启动事件导入pandas.DataFrame的任何提示。下面的代码显示了简单的lxml解析,并使用from_记录将条目转换为数据帧(pandas)。[注意:我试过使用from_dict,但它需要每个属性都有一个列表,而from_记录似乎可以更好地处理字典。] 强制数据属性时pd.DataFrame.from_记录失败。。。有误: TypeError: Argument must be bytes or unicode, got 'int' 提前谢谢你的提示 代码段:

有关将lxml.etree启动事件导入pandas.DataFrame的任何提示。下面的代码显示了简单的lxml解析,并使用from_记录将条目转换为数据帧(pandas)。[注意:我试过使用from_dict,但它需要每个属性都有一个列表,而from_记录似乎可以更好地处理字典。]

强制数据属性时pd.DataFrame.from_记录失败。。。有误:

TypeError: Argument must be bytes or unicode, got 'int'
提前谢谢你的提示

代码段:

x2="""<m2>
  <entry attrm201=1 attrm202 attrm203=1>m0201_t</entry>
  <entry attrm201=1 attrm0203=1>m0202_t</entry>
  <entry displevel=1 entrytype=1>m0202_t</entry>
</m2>"""

import pandas as pd
objDF = pd.DataFrame()

import io
srcIO = io.StringIO(x2)
#srcIO = io.BytesIO(str.encode(x2))


from lxml import etree
for event, e in etree.iterparse(srcIO, recover=True, html=True, events=('start', 'end')):
    if event != 'start' : continue
    if e.tag != 'entry' : continue
    elmDict = e.attrib
    elmDict[e.tag] = e.text 
    df = pd.DataFrame.from_records(elmDict, index=[0])
    objDF = pd.concat([objDF, df])
    print(event, objDF)

我添加了更新#1。这提供了沿轴1(行)将dict导入数据帧的解决方法。问题似乎是dict的值是字符串,例如“1”,而强制使用int会变得混乱。我会把它打开,以防有人知道更多细节。你的更新部分应该是一个答案,因为它不是问题的一部分,而是回答问题的一种方式。你的问题仍然会被认为是开放的,只要它没有被接受的答案
# from_record doesn't work 
#df = pd.DataFrame.from_records(elmDict, index=[0])

# 
arr = []
arr.append(elmDict.values())
df = pd.DataFrame(arr, columns=elmDict.keys())
objDF = pd.concat([objDF, df])