Buat blok kode python memformat hasilnya sebagai tabel Org
Isi
Dalam #+BEGIN_SRCblok kode yang bahasanya cppatau sh, karakter tab digunakan sebagai pemisah untuk sel saat menggunakan :results tableargumen header (lihat contoh di bawah)
#+begin_src cpp :results replace output table
#include <iostream>
int main() {
std::cout << "a\ta\nbbbbb\tbbbbb" << std::endl;
return 0;
}
#+end_src
#+RESULTS:
| a | a |
| bbbbb | bbbbb |
#+begin_src sh :results replace output table
printf "%s\t%s\n" "a" "a" "bbbbbb" "bbbbbb"
#+end_src
#+RESULTS:
| a | a |
| bbbbbb | bbbbbb |
Namun, perilaku yang sama ini tidak ada di pythonblok kode (lihat di bawah)
#+begin_src python :results replace output table
print("a\ta\nbbbbb\tbbbbb")
#+end_src
#+RESULTS:
: a a
: bbbbb bbbbb
Pertanyaan
Bagaimana cara membuat keluaran dari pythonblok kode ditampilkan sebagai tabel Org. Apakah tidak menggunakan argumen header tersebut dan membuat output berisi karakter tab cukup untuk #+RESULTSdiformat sebagai tabel Org?
Jawaban
Anda dapat mengeluarkan tabel organisasi yang diformat dengan mengembalikan daftar daftar sebagai berikut (perhatikan no: hasil keluaran):
#+begin_src python :results replace table
return (('a', 'a'), None, ('bbbbb', 'bbbbb'))
#+end_src
#+RESULTS:
| a | a |
|-------+-------|
| bbbbb | bbbbb |
baris Tidak Ada membuat garis pemisah.
Berikut beberapa contoh lain yang menggunakan :results output
#+BEGIN_SRC python :results output table
print([['Number', 'Number * 10'], None, [1, 10], [2, 20]])
#+END_SRC
#+RESULTS:
| Number | Number * 10 |
|--------+-------------|
| 1 | 10 |
| 2 | 20 |
#+BEGIN_SRC python :results value table
return [['Number', 'Number * 10'], None, [1, 10], [2, 20]]
#+END_SRC
#+RESULTS:
| Number | Number * 10 |
|--------+-------------|
| 1 | 10 |
| 2 | 20 |
Perhatikan bahwa saat menggunakan :results output, satu printdisertakan dalam #+RESULTSblok kode.
#+BEGIN_SRC python :results output table
for i in range(5):
print([i, i**10])
#+END_SRC
#+RESULTS:
| 0 | 0 |