Lassen Sie Python-Codeblöcke ihre Ergebnisse als Org-Tabellen formatieren
Der Kontext
In #+BEGIN_SRCCodeblöcken, deren Sprache cppoder ist sh, wird das Tabulatorzeichen als Trennzeichen für Zellen verwendet, wenn das :results tableHeader-Argument verwendet wird (siehe Beispiele unten).
#+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 |
Das gleiche Verhalten ist jedoch in pythonCodeblöcken nicht vorhanden (siehe unten).
#+begin_src python :results replace output table
print("a\ta\nbbbbb\tbbbbb")
#+end_src
#+RESULTS:
: a a
: bbbbb bbbbb
Die Frage
Wie kann ich die Ausgabe von pythonCodeblöcken als Org-Tabellen anzeigen lassen? Verwenden Sie diese Header-Argumente nicht und stellen Sie #+RESULTSsicher, dass die Ausgabe Tabulatorzeichen enthält , die als Org-Tabelle formatiert werden können?
Antworten
Sie können formatierte Organisationstabellen ausgeben, indem Sie eine Liste von Listen wie folgt zurückgeben (Hinweis Nr.: Ergebnisausgabe):
#+begin_src python :results replace table
return (('a', 'a'), None, ('bbbbb', 'bbbbb'))
#+end_src
#+RESULTS:
| a | a |
|-------+-------|
| bbbbb | bbbbb |
Eine Zeile Keine erstellt eine Trennlinie.
Hier sind einige andere Beispiele mit :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 |
Beachten Sie, dass bei Verwendung :results outputeine einzelne printim #+RESULTSCodeblock enthalten ist.
#+BEGIN_SRC python :results output table
for i in range(5):
print([i, i**10])
#+END_SRC
#+RESULTS:
| 0 | 0 |