繁体   English   中英

通过python在rethinkdb上插入数据时出错

[英]Error on insert data on rethinkdb via python

使用以下python脚本:

#!/usr/bin/python3

import rethinkdb as r
import os
import configparser as c
from xml.dom import minidom
import urllib3

config = c.ConfigParser()
config

config.read("etc/db.py")

conn = r.connect(config.get("DB", "host"), config.get("DB", "port"), config.get("DB", "db")).repl()
http = urllib3.PoolManager()
get = http.request ("GET", 'http://s1-it.ogame.gameforge.com/api/universes.xml')

xmldoc = minidom.parseString(get.data)
itemlist = xmldoc.getElementsByTagName("universe")
id = []
href = []
a = 1
for s in itemlist:
    if a < len(itemlist):
        id.append("{ \"id\": \"" + s.attributes['id'].value + "\", \"href\": \"" + s.attributes['href'].value + "\" }, ")
    else:
        id.append("{ \"id\": \"" + s.attributes['id'].value + "\", \"href\": \"" + s.attributes['href'].value + "\" }")
    a = a + 1

data = "".join(id)

print(r.table("universes").insert([ data ]).run())

cursor = r.table("universes").run()
for document in cursor:
    print(document)

我试图解析XML文档并将其插入rethinkdb。

当我启动python3 file.py时,我看到以下错误:

预期为OBJECT类型,但已找到STRING

我的脚本有什么问题?

谢谢。

当RethinkDB希望您尝试插入对象(Python中的字典)或对象数组时,您正在尝试将字符串作为文档插入。

您可以通过将字符串解析为JSON来解决此问题。

import json

data = json.loads("".join(id))

print(r.table("universes").insert(data).run())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM