Csv 组织模式使用组织babel筛选表

Csv 组织模式使用组织babel筛选表,csv,emacs,org-mode,org-babel,org-table,Csv,Emacs,Org Mode,Org Babel,Org Table,为了在emacs中过滤具有组织模式的表,我使用了OrgBabel。然而,我的功能不太有效,我不知道为什么。以下是指向zip文件的链接,该文件包含我正在测试函数的csv:。csv的名称为2014-1 SubsectionCodes.csv 首先,我用emacs打开文件,然后突出显示整个区域,并运行命令org table create或convert,该命令将CSV转换为org table。接下来,我使用org babel语法为表命名:#+tblname:un states 紧随其后的是整个表格。我

为了在emacs中过滤具有组织模式的表,我使用了OrgBabel。然而,我的功能不太有效,我不知道为什么。以下是指向zip文件的链接,该文件包含我正在测试函数的csv:。csv的名称为2014-1 SubsectionCodes.csv

首先,我用emacs打开文件,然后突出显示整个区域,并运行命令
org table create或convert
,该命令将CSV转换为org table。接下来,我使用
org babel
语法为表命名:
#+tblname:un states

紧随其后的是整个表格。我想筛选出状态的行。下面是我的代码,用于根据第四列中的值筛选表:

#+name: filter-un
#+begin_src emacs-lisp :var tbl=un-states
(remove-if (lambda (row) (not (equal (cadddr row) "State"))) tbl)

#+end_src
我用
C-C-C
评估函数,得到的结果是:

#+results: filter-un
| AU | NSW | New South Wales   | State |
| AU | QLD | Queensland        | State |
| AU | SA  | South Australia   | State |
| AU | TAS | Tasmania          | State |
| AU | VIC | Victoria          | State |
| AU | WA  | Western Australia | State |
这些数据包括美利坚合众国的各州,因此我们显然遗漏了很多州。为什么我的函数不起作用?我立即注意到的是,
AU
是第一组有状态的行,它们都是连续的行。因此,它似乎在这一点之后停止工作

  • 如何使函数正常工作并包含更多状态

谢谢你的帮助。我几个小时前才开始使用
org babel
,非常感谢您的帮助

你知道CSV文件的编码是什么吗?我甚至无法将转换后的org表传递给src块,我怀疑这是因为表中有奇怪的字符。我不知道。。。不过,它似乎对我起了作用。