11

私はorg-modeを始めており、それが可能であるように思われる何かをしたいのですが、私は理解するのに苦労しています。

シナリオを説明しましょう。リモートサーバーで実行したいSQLコードがいくつかあります。私は現在、SQLコードを文字列として受け取り、これを実行するPythonスクリプトを持っています。org-modeがなければ、私のワークフローは次のようなファイルから始めることになります。

echo "SELECT name, grade FROM students" >> basic_query.sql 

そして、私は実行します:

$ python run_query.py basic_query.sql    

これを行うには、org-mode設定で、SQLのコードブロックを作成できます。

#+NAME: basic_query 
#+BEGIN_SRC SQL 
SELECT name, grade FROM students 

#+END_SRC 

そして、Python呼び出し関数のコードブロックがあります。

#+BEGIN_SRC python :export results
import sql_helper 
query_status = sql_helper.run_query(<<basic_query>>)  

#+END_SRC 

これを使用して、テーブルの作成、さらに処理、プロットなどを行うことができます。<< >>これは正しくないことに注意してください。明らかに、私がやろうとしていることを示すための表記法の乱用にすぎません。

4

1 に答える 1

9

pythonコードが有効になるようにemacs/org-modeを設定した場合((python . t)org-babel-do-load-languages)、ほぼ完了です。例を次のように変更しました。

#+NAME: basic_query 
#+BEGIN_SRC SQL 
  SELECT name, grade FROM students 
#+END_SRC 

#+BEGIN_SRC python :export results :noweb yes :tangle yes
import sql_helper 
query = """
    <<basic_query>>
    """
query_status = sql_helper.run_query(query)  

#+END_SRC 

私のPythonは少し錆びていますが、少なくともこれを絡ませれば

import sql_helper 
query = """
    SELECT name, grade FROM students 

    """
query_status = sql_helper.run_query(query)

pythonは構文について文句を言うのではなく、欠落しているモジュールsql_helperについて文句を言います...

于 2012-01-31T09:37:34.660 に答える