如何在python中读取sql查询输出

如何在python中读取sql查询输出,python,sqlplus,Python,Sqlplus,我在Python代码中使用sqlplus连接到数据库,执行查询并读取结果。有谁能帮我从sysout读取数据吗 我的代码如下: stdout = os.popen(cmd) for line in stdout: print line stdout.close() 但我可以看到结果,因为每三行标题重复如下: Name ID ---- --- AB 1 AC

我在Python代码中使用sqlplus连接到数据库,执行查询并读取结果。有谁能帮我从sysout读取数据吗

我的代码如下:

    stdout = os.popen(cmd)
for line in stdout:
    print line
stdout.close()
但我可以看到结果,因为每三行标题重复如下:

Name               ID

----               ---

AB                 1

AC                 2

AD                 3

Name               ID

----               ---

BC                 1

BD                 2
像这样

在不重复页眉的情况下,是否可以控制此操作,页眉应该只出现一次,并且应该只出现在开头。

您正在执行的操作:

  • 启动一个查询数据库并将结果打印到stdout的独立程序
  • 阅读该程序的stdout并考虑解析它
你应该做什么:

  • 在Python中使用数据库API
此页面包含可以使用的Oracle DB API列表:


使用真正的API来查询数据库会带来很多好处,例如更好地处理错误,可能更好的性能,未来的代码维护人员不会对您感到不安。

我不太明白这是什么。哪些是列标题,哪些是值?Name,ID是该表中的列您可以发布查询吗?从NameTable中选择Name,ID;如果单独运行sqlplus,是否有相同的输出?如果是这样的话,你能不能每5行跳过2行?是的,我同意,但是我们在使用这些代码时有一些限制,所以我们使用sqlplus。这些限制是什么?也许我们可以解决这个问题。我们可以使用sqlplus实现预期的行为,因此不建议安装其他人,我们需要向他们证明使用sqlplus无法实现,然后在获得所需的批准后,只有他们才会安装。我相信我们可以用sqlplus实现同样的效果,这在我们之前提出的时候就已经发生了。在这种情况下,您的sqlplus版本是否具有此处所述的“-MARKUP HTML ON”选项:?如果是,请打开它,看看是否可以使用Python的lxml/ElementTree或beautifulsoupHTML解析器解析输出。