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

时间:2013-10-11 10:37:51

标签: python sqlplus

我在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
像这样。

是否可以控制它,如果不重复标题,标题应该只出现一次,它应该只在开头。

1 个答案:

答案 0 :(得分:0)

你在做什么:

  • 启动查询数据库并将结果打印到stdout的独立程序
  • 阅读该程序的标准输出并考虑解析它。

你应该做什么:

  • 在Python中使用数据库API。

此页面包含您可以使用的Oracle DB API列表:https://wiki.python.org/moin/Oracle

使用真正的API查询数据库会带来许多好处,例如更好的处理错误的机会,可能更好的性能,以及代码的未来维护者不会对您感到不满。