MS SQL Serverテーブルのxml列をpandasデータフレームに解析する必要があります。SQL Serverのxml列をPythonの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)
私は今(?カーソルから)行オブジェクトを反復処理し、一度にそれぞれの行1を解析しに追加するlxmlのを使用したいですパンダのデータフレーム 行を反復処理するための解析ができません。これは間違ったアプローチですか?
tree = etree.parse(row)
は機能しません。
それから私は私が
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)
以下に似た構文解析された要素の辞書を構築し、最終的にはパンダのデータフレームに辞書を変換する必要があると思います。 私はxml構造を事前に知る必要はありません。 これは私の考えですが、より良い方法があれば教えてください。 本当にありがとうございます。
おかげで - 私は今、パンダの列SQL ServerからXML列を持つ1つの列のデータフレームを与えるために動作します。しかし、どのようにlxmlを解析するのですか? –
現在の1列のデータフレームがどのようなものか、どのような出力を受け取ることができるかの例を提示できますか? – jvk777