【发布时间】:2017-04-14 02:08:45
【问题描述】:
我已经使用 Python SAX 解析了 XML 文件,并成功地将标签和值存储在字典中。我使用 defaultdict 来存储一些具有相同标签名称的嵌套标签的对。例如:
<Actions>
<Action sequenceNumber="1">
<ActionCode/>
<ActionDescription/>
</Action>
<Action sequenceNumber="2">
<ActionCode/>
<ActionDescription/>
</Action>
<Action sequenceNumber="3">
<ActionCode/>
<ActionDescription/>
</Action>
所以如果它们是空的,输出会是这样的:
defaultdict(, {u'ActionDescription': [' ', ' ', ' '], u'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('//','//')
但我不希望将这些值作为一个字符串存储在数据库中。我可以做些什么来将值拆分为行,使用分隔符并根据它们的列名存储它们?我试图拆分这些值,但是它们不再与它们的键有关系了? 如果有人能给我一个如何解决这个问题的想法,将不胜感激。谢谢。
【问题讨论】:
标签: python mysql xml sax defaultdict