나중에 다른 코드 블록에서 사용하도록 조직 테이블을 생성하는 코드 블록에 약간의 문제가 있습니다. 예를 들면 다음과 같습니다.
#+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 데이터를 변환 할 수 있습니다,하지만 난 첫 번째 코드 출력 A 동 중 하나의 방법이 나 :-)에 대한 핸들을 조직 선호하는 #+TBLNAME
대신이 #+RESULTS
? 또는 두 번째 코드 블록이 문자열 대신 org 테이블로 인수를 강제 할 수 있습니까?
2
일반적으로 Babel 소스 블록이 테이블을 생성하려는 경우 2 차원 벡터를 생성합니다. Clojure 코드가 문자열을 생성하는 대신 코드를 작성했다면 코드에서 아무것도 변경할 필요가 없습니다. Clojure에서 벡터를 생성하는 방법을 찾으십니까?
—
wvxvw
@wvxvw 댓글 감사합니다. 나는 약간 혼란스러워 보인다. 전체 포인트 조직 모드가 일반 텍스트라고 생각했습니다. 당신이 보는 것은 당신이 얻는 것입니다. 그러나 # + REULTS 블록 뒤에는 일종의 데이터 구조가 있으며 문자열 또는 중첩 된 데이터 구조 일 수 있습니다.
—
Julien Chastang
아니, 그건 내가 말하는 게 아니야 나는 그것이
—
wvxvw
clojure.pprint/print-table
Org 테이블 형식의 문자열 을 반환 한다고 생각하고 헤더 인수를 output
and로 설정했기 때문에 raw
얻을 수있는 것을 얻습니다. 그러나 두 번째로 사용할 때 조직은 결과 테이블을 읽지 않고 대신 Clojure 블록을 다시 평가하고 결과를 Python 블록에 제공합니다. 그러나 Clojure 블록이 2D 배열을 생성 한 경우 결과를 테이블로 형식화하기 위해 Org가 value
아닌 결과를 변경할 수 raw
있으며 Python 블록에서 2D 배열로 얻을 수 있습니다.
@wvxvw org-babel 헤더 인수를 이해하도록 도와 주셔서 감사합니다. 몇 가지 실험을 한 후에, 당신이 묘사 한 것이 실제로 그럴 것 같음을 알 수 있으며, 그와 함께 실행할 수 있어야합니다. 그러나 데이터가 (예 : Clojure 중첩 벡터) 표현이 아닌 문자열이기 때문에 특히 hline과 함께 "풍부한"스타일의 org-table을 중간 형식으로 사용할 수 없습니다. 어쨌든, 나는 org-babel에 매우 만족했으며 Jupyter의 탁월한 대안이라고 생각합니다 (물론 emacs 사용자 인 경우 :-)) 다시 한 번 감사드립니다.
—
Julien Chastang