将sqlserver中的xml列解析为python pandas

2024-03-28 15:32:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将mssqlserver表中的xml列解析为pandas数据帧。在

我可以去那里。在

我可以创建到SQL Server的连接对象

import pyodbc
from lxml import etree

conn_str = (
r'Driver={SQL Server};'
r'Server=.\SQLEXPRESS;'
r'Database=myDB;'
r'Trusted_Connection=yes;'
)
cnxn = pyodbc.connect(conn_str)

我现在想迭代一个row对象(从一个游标?)并使用lxml逐个解析每一行,并将其附加到pandas中的数据帧。 我不能让parse遍历行?也许这是错误的方法?在

^{pr2}$

不起作用。在

然后我想我需要建立一个类似于下面的已解析元素的字典

root = tree.getroot()


# Parse out data from XML
data = []
for child in root:
    datarow = {}
    for leaf in child:
        datarow[leaf.tag] = leaf.text
    data.append(datarow)

最后将字典转换为pandas数据帧。 我不想预先知道xml的结构。 这些是我的想法,但如果有更好的方法,请告诉我。 任何帮助都很感激。在


Tags: 数据对象fromimportpandassqldataserver