C-c |
を使用して領域をテーブルに変換しています。org-modeテーブルを元のタブ付きフォーマットに変換する方法は?
変換を行った後、いくつかの編集を行い、元の形式に戻す(タブ区切りの値はどうなるでしょうか)という方法がありますか?
私はorg-table-export
でそれを行うことができますが、あまりにも面倒です。
C-c |
を使用して領域をテーブルに変換しています。org-modeテーブルを元のタブ付きフォーマットに変換する方法は?
変換を行った後、いくつかの編集を行い、元の形式に戻す(タブ区切りの値はどうなるでしょうか)という方法がありますか?
私はorg-table-export
でそれを行うことができますが、あまりにも面倒です。
あなたはそれを微調整したい場合は、replace-regex
を使用しています。
タブで区切られた値については、orgtbl-to-tsvを試してください。
カンマ区切りの値には、orgtbl-to-csvもあります。例えば
:ここ
* Some heading
#+name: foo
| a | b | c |
|---+---+---|
| 1 | 2 | 3 |
| 4 | 5 | 6 |
#+BEGIN_SRC elisp :var x=foo
(orgtbl-to-csv x nil)
#+END_SRC
#+RESULTS:
: 1,2,3
: 4,5,6
はタブまたはカンマ区切り値としてエクスポートするテーブルを使用する手順は、次のとおりです
M-x org-table-export
これらを使用することができますフォーマットの一部です:
私はORG-テーブル輸出に基づいて次のことを書いた、あまりにも、ちょうどこれを必要に応じて:
(defun org-table-transform-in-place()
"Just like `ORG-TABLE-EXPORT', but instead of exporting to a
file, replace table with data formatted according to user's
choice, where the format choices are the same as
org-table-export."
(interactive)
(unless (org-at-table-p) (user-error "No table at point"))
(org-table-align)
(let* ((format
(completing-read "Transform table function: "
'("orgtbl-to-tsv" "orgtbl-to-csv" "orgtbl-to-latex"
"orgtbl-to-html" "orgtbl-to-generic"
"orgtbl-to-texinfo" "orgtbl-to-orgtbl"
"orgtbl-to-unicode")))
(curr-point (point)))
(if (string-match "\\([^ \t\r\n]+\\)\\(+.*\\)?" format)
(let ((transform (intern (match-string 1 format)))
(params (and (match-end 2)
(read (concat "(" (match-string 2 format) ")"))))
(table (org-table-to-lisp
(buffer-substring-no-properties
(org-table-begin) (org-table-end)))))
(unless (fboundp transform)
(user-error "No such transformation function %s" transform))
(save-restriction
(with-output-to-string
(delete-region (org-table-begin) (org-table-end))
(insert (funcall transform table params) "\n")))
(goto-char curr-point)
(beginning-of-line)
(message "Tranformation done."))
(user-error "Table export format invalid"))))
(define-key org-mode-map (kbd "\C-x |") 'org-table-transform-in-place)
これはORG-モードに適切に追加しまった場合、それは素晴らしいことです私は多くがそれを使用すると思います。
はい、これはうまくいくはずですが、これを行うには 'orgtbl'コマンドが含まれていますか? OPが尋ねたように、逆の 'C-c | 'のようなものです。 – quazgar
賢い解決策、ありがとう! –