Експорт Org-порядку денного до Org-Table


3

Я використовую Org-режим - це журнал моїх випробувань на сільськогосподарських полях і загалом моя кандидатська дисертація.

Повідомлення про випробування на місцях, я хотів би експортувати порядок денний випробувань до організаційних таблиць, щоб отримати щось подібне як кінцевий продукт: (дані про іграшки)

| Trial   | Date   (Toy data) | Action                | DAE |
|---------+-------------------+-----------------------+-----|
| Trial A | <2013-02-21 Thu>  | Planting              |     |
| Trial A | <2013-03-03 Sun>  | Emergence             |  0  |
| Trial A | <2013-04-19 Fri>  | Fungicide Application |  7  |
| Trial A | <2013-05-20 Mon>  | Biomass Evaluation    |  50 |
| Trial A | <2013-06-21 Fri>  | Harvest               | 110 |
| Trial B | ...               | ...                   |     |
| ...     | ...               | ...                   |     |

З Ca m (пошук TAG) я можу отримати щось подібне тут (реальні дані):

  13pgSoja:   13pgSoja: Planting: Soybean <2012-11-06 Tue>        :NPW:2013:PG::
  13pgSoja:   13pgSoja: Emergence <2012-11-14 Thu>                :NPW:2013:PG::
  13pgSoja:   13pgSoja: Application 1 <2012-11-22 Thu 14:30-16:30> :NPW:2013:PG::
  13pgSoja:   13pgSoja: Evaluation: Control 1 <2012-11-28 Wed>    :NPW:2013:PG::
  13pgSoja:   13pgSoja: Evaluation: Biomass Weeds <2013-02-18 Mon> :NPW:2013:PG::
  13pgSoja:   13pgSoja: Evaluation: Biomass Soybean               :NPW:2013:PG::
  13pgSoja:   13pgSoja: Harvest <2013-03-25 Mon>                  :NPW:2013:PG::

Відредагувати непотрібні теги - це не проблема, я отримую: (Я додав заголовок для трьох перших стовпців просто для того, щоб зрозуміти свою ідею ...)

Trial        Action                Date     
  13pgSoja: Planting: Soybean <2012-11-06 Tue>        
  13pgSoja: Emergence <2012-11-14 Thu>                
  13pgSoja: Application 1 <2012-11-22 Thu 14:30-16:30> 
  13pgSoja: Evaluation: Control 1 <2012-11-28 Wed>    
  13pgSoja: Evaluation: Biomass Weeds <2013-02-18 Mon> 
  13pgSoja: Evaluation: Biomass Soybean               
  13pgSoja: Harvest <2013-03-25 Mon>                  

Потім перетворять цей формат в таблицю org:

| Trial     | Action                      | Date             | DAE |
| 13pgSoja: | Planting: Soybean           | <2012-11-06 Tue> |     |
| 13pgSoja: | Emergence                   | <2012-11-14 Thu> |   0 |
| 13pgSoja: | Application 1               | <2012-11-22 Thu> |     |
| 13pgSoja: | Evaluation: Control 1       | <2012-11-28 Wed> |     |
| 13pgSoja: | Evaluation: Biomass Weeds   | <2013-02-18 Mon> |     |
| 13pgSoja: | Evaluation: Biomass Soybean | <2013-02-18 Mon> |     |
| 13pgSoja: | Harvest                     | <2013-03-25 Mon> | 130 |

DAE означає "Дні після появи". Я хотів би мати можливість обчислити "вік врожаю" за датами та сортування за датами. Чи корисний для розрахунків формат з порядку денного? Це насправді додаткове запитання ...

Перетворення даних у таблицю є проблемою (перетворення без заголовка, яке я б додав пізніше). Мені довелося б зробити розділення вручну. Чи є якийсь простий спосіб експортувати подання порядку денного у форму орга-таблиці? Чи правильний шлях перегляду стовпців в порядку денного?


Важко зрозуміти, як теги, які ви маєте, стосуються таблиці. Я бачу дані в таблиці, яких я не бачу в тегах. Чи зможете ви надати невелику частину даних та еквівалентну таблицю?
Алекс Маккензі

Ось ви йдете Олексій; додали ще кілька даних і потрібну таблицю виводу
mcg

Насправді не бачите потрібної трансформації, але awk - ваш друг (разом з вирізом). За замовчуванням awk зчитує кожен рядок вхідного файлу, розбиває його на поля, використовуючи розділювачі або поля фіксованої довжини за вашим вибором, а потім співставляє кожен рядок із послідовними шаблонами (які ви вказуєте). Коли шаблон відповідає, то дія, пов'язана з цим шаблоном, викликається. Він ідеально підходить для реструктуризації та очищення даних.
Джо

Відповіді:


1

Я фактично знайшов рішення своєї проблеми на довідкових сторінках в режимі org. Посилання http://orgmode.org/manual/Scope-of-column-definitions.html та http://orgmode.org/manual/Capturing-column-view.html .

Перегляд стовпців Org як такий не експортується, але може бути записаний за допомогою динамічних блоків:

Приклад даних :

* Trial A

** Planting
<2014-02-28 Fri>
** Emergence
<2014-03-10 Mon>
** Biomass evaluation
<2014-04-29 Tue>
** Harvest
<2014-05-28 Wed>

Я хотів експортувати сам товар ( %25ITEM) та дату ( %TIMESTAMP), тому встановив:

#+COLUMNS: %25ITEM %TIMESTAMP

Then one goes to the top header (Trial A) and uses: 

C-c C-x i  --- (org-insert-columns-dblock) ; I get


#+BEGIN: columnview :hlines 1 :id local
| ITEM                  | TIMESTAMP      |   |
|-----------------------+----------------+---|
| * Trial A             |                |   |
| ** Planting           | 2014-02-28 Fri |   |
| ** Emergence          | 2014-03-10 Mon |   |
| ** Biomass evaluation | 2014-04-29 Tue |   |
| ** Harvest            | 2014-05-28 Wed |   |
#+END:

(Я додав третій стовпець) Це я легко міняю на потрібний вихід (усунення зірок + зміна заголовків). Додаючи третій стовпець, я можу зробити також обчислення дати, які я хочу, за допомогою:

#+TBLFM: $3 = date(<$2>) - date(<2012-10-21>)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.