-2

Python コードで sqlplus を使用してデータベースに接続し、クエリを実行して結果を読み取っています。sysout からデータを読み取る方法を教えてください。

私のコードは次のようなものです:

    stdout = os.popen(cmd)
for line in stdout:
    print line
stdout.close()

しかし、3行ごとにタイトルが次のように繰り返されているため、結果を見ることができました。

Name               ID

----               ---

AB                 1

AC                 2

AD                 3

Name               ID

----               ---

BC                 1

BD                 2

このような。

ヘッダーを繰り返さずにこれを制御することは可能ですか?ヘッダーは一度だけ来て、最初にだけ来るべきです。

4

1 に答える 1

0

何をしているの:

  • データベースにクエリを実行し、結果を stdout に出力するスタンドアロン プログラムを起動する
  • そのプログラムの stdout を読んで、それを解析することを考えています。

あなたがすべきこと:

  • Python でデータベース API を使用する。

このページには、使用できる Oracle DB API のリストが含まれています: https://wiki.python.org/moin/Oracle

実際の API を使用してデータベースにクエリを実行すると、多くの利点が得られます。たとえば、エラーを処理する機会が増え、おそらくパフォーマンスが向上し、コードの将来のメンテナーがあなたに腹を立てることはありません。

于 2013-10-11T10:54:21.237 に答える