我已经使用Python SAX解析了XML文件bu,并成功将标记和值存储在字典中。我使用defaultdict来为一些具有相同标签名称的嵌套标签存储对。例如:具有相同键的多个值,值以'/'分隔的字符串读取,如何根据键分割值?
<Actions>
<Action sequenceNumber="1">
<ActionCode/>
<ActionDescription/>
</Action>
<Action sequenceNumber="2">
<ActionCode/>
<ActionDescription/>
</Action>
<Action sequenceNumber="3">
<ActionCode/>
<ActionDescription/>
</Action>
所以输出会是这样,如果它们是空的:
defaultdict({u'ActionDescription ':' ' '','“], ü 'ActionCode':['','','']})
我需要在MySQL中插入值,所以我把列名和值放在一个字符串中。
actionslist_insertstr = "INSERT INTO dbname.Actions ("
actionslist_valuesstr = "VALUES ('"
actionslist = handler.actions
for i, (k, v) in enumerate(actionslist.iteritems()):
actionslist_insertstr += k
actionslist_valuesstr += "/".join(v)
if i < len(actionslist)-1:
actionslist_insertstr += ","
actionslist_valuesstr += "','"
actionslist_insertstr += ")"
actionslist_valuesstr += "')"
INSERT INTO dbname.Actions(ActionDescription,ActionCode)VALUES( '/ /', '/ /')
但我不希望这些值是店作为一个数据库中的字符串。我能做些什么来将值拆分成行,使用分隔符并根据列名称来存储它们?我试图分裂价值观,但他们不会有关系到他们的钥匙了? 如果有人能给我一个想法如何解决这个问题,将不胜感激。谢谢。
太谢谢你了!你救了我从重写整个事情! – Coastie