मुझे कोड ब्लॉक के साथ थोड़ी परेशानी हो रही है जो बाद में अन्य कोड ब्लॉक द्वारा उपभोग किए जाने वाले org तालिकाओं का उत्पादन करते हैं। उदाहरण के लिए:
#+NAME: upper_air
#+BEGIN_SRC clojure :results output raw
(clojure.pprint/print-table table)
#+END_SRC
उत्पादन करेंगे
#+RESULTS: upper_air
| :m | :degree | :meter/second | :degC | :millibar |
|---------+---------+---------------+------------+-----------|
| 1545.0 | 175.0 | 12.36 | 15.400001 | 850.0 |
| 3162.0 | 265.0 | 6.69 | 4.8 | 700.0 |
लेकिन मैं वास्तव में क्या चाहूंगा
#+TBLNAME: upper_air
| :m | :degree | :meter/second | :degC | :millibar |
|---------+---------+---------------+------------+-----------|
| 1545.0 | 175.0 | 12.36 | 15.400001 | 850.0 |
| 3162.0 | 265.0 | 6.69 | 4.8 | 700.0 |
(नोट #+RESULTS
बनाम #+TBLNAME
) ताकि बाद में मैं ऐसा कुछ कर सकूं
#+BEGIN_SRC ipython :session :var data=upper_air
import numpy as np
arr = np.array(data)
p = arr[:,4]
#+END_SRC
#+RESULTS
परिणाम के साथ , दूसरा कोड ब्लॉक data
डेटा टेबल के बजाय एक स्ट्रिंग के रूप में तर्क की व्याख्या करेगा और मैं डेटा को सीधे तरीके से निकालने में सक्षम नहीं होगा। मैं ASCII डेटा को 'मैन्युअल रूप से' पायथन डेटा संरचना में परिवर्तित कर सकता हूं, लेकिन मैं पसंद करूंगा कि org मेरे लिए इसे संभाल लेगा :-) क्या #+TBLNAME
इसके बजाय उत्पादन के लिए पहले कोड ब्लॉक के लिए कोई रास्ता है #+RESULTS
? वैकल्पिक रूप से, क्या दूसरा कोड एक स्ट्रिंग के बजाय ऑर्ग टेबल के रूप में तर्क को रोक सकता है?
clojure.pprint/print-table
Org तालिका के रूप में स्वरूपित एक स्ट्रिंग लौटाता है, और जब से आप शीर्षलेख तर्क सेट करते हैं output
और raw
, आपको वह मिलता है जो आपको मिलता है। हालाँकि, जब आप इसे दूसरी बार उपयोग करते हैं, तो ऑर्ग परिणामी तालिका को नहीं पढ़ता है, इसके बजाय, यह क्लॉज्योर ब्लॉक का पुनर्मूल्यांकन करता है और इसका परिणाम पायथन ब्लॉक को खिलाता है। हालाँकि, अगर क्लॉजुर ब्लॉक एक 2 डी सरणी का उत्पादन करता है, तो आप परिणाम को बदल सकते हैं value
और raw
ऑर्ग के लिए तालिका के रूप में परिणाम के लिए प्रारूप नहीं कर सकते हैं , और आप इसे पायथन ब्लॉक में 2 डी सरणी के रूप में प्राप्त करेंगे।