Obsidian 插件:CSV Table
插件名片
概述
将 CSV 数据呈现为笔记中的表格。
原文出处
下面自述文件的来源于 Readme
Readme(翻译)
下面是 obsidian-csv-table 插件的自述翻译
Obsidian CSV 表格
如果你有一个 CSV 文件的数据,想要在 Obsidian 中将其渲染为表格,现在你可以了。
快速入门
假设你有一个名为 countries.csv
的 CSV 文件:
name,capitol,population
United States of America,"Washington, DC",328200000
Colombia,Bogota,50340000
Russia,Moscow,144400000
下面的代码块:
```csvtable
source: countries.csv
```
将渲染出一个表格,如下所示:
name | capitol | population |
---|---|---|
United States of America | Washington, DC | 328200000 |
Colombia | Bogota | 50340000 |
Russia | Moscow | 144400000 |
选项
source
:(必填)在笔记中渲染的 csv 文件的路径(相对于您的 vault 根目录)。csvOptions
:用于解码引用的 CSV 文件的选项;请参阅 https://csv.js.org/parse/options/ 获取可用选项。columns
:要渲染的列的列表。每个项目可以是要显示的字段的名称或表达式(参见下面的“表达式”),并且可以重新命名。如果未指定,则将渲染引用的 CSV 中的所有列。有关详细信息,请参见“选择特定列”。filter
:要用于限制显示的引用 CSV 行的过滤器表达式列表(参见下面的“表达式”)或单个过滤器表达式。如果未指定,则将渲染引用的 CSV 的所有行,同时考虑下面指定的maxRows
的值。有关详细信息,请参见“过滤显示的行”。sortBy
:要用于对显示的行进行排序的排序表达式列表(参见下面的“表达式”)或单个排序表达式。如果未指定,则将按照引用的 CSV 中的顺序显示行。有关详细信息,请参见“排序行”。columnVariables
:变量名称到列名称的映射,允许您为上述的filter
或columns
设置一个名称,以引用不是有效变量名称的字段的值。maxRows
:要显示的最大行数。如果未指定,则将显示引用的 CSV 的所有未经过滤的行。
表达式
该库使用 filtrex
进行表达式评估;请参阅其文档以了解有关表达式语法和可用函数的更多信息:https://github.com/m93a/filtrex#expressions。
在“过滤显示的行”中可以看到一个过滤表达式的示例,但实际上它们的工作方式与您可能预期的完全相同。
选择特定的列
您可以使用 columns
字段来控制要渲染的 CSV 文件的哪些列,例如:
```csvtable
columns:
- name
- population
source: my_csv_file.csv
```
name | population |
---|---|
United States of America | 328200000 |
Colombia | 50340000 |
Russia | 144400000 |
您还可以为列设置更好的名称或使用表达式:
```csvtable
columns:
- expression: name
name: Country Name
- expression: population / 1000000
name: Population (Millions)
source: my_csv_file.csv
```
Country Name | Population (Millions) |
---|---|
United States of America | 328.2 |
Colombia | 50.34 |
Russia | 144.4 |
过滤显示的行
也许您只想显示 CSV 文件的一部分行?如果是这样,您可以提供一个 filter
表达式来限制显示哪些行:
```csvtable
source: my_csv_file.csv
filter: population < 100000000
```
name | population |
---|---|
Colombia | 50340000 |
默认情况下,解析器将尝试将每个字段的值转换为整数、布尔值或日期对象,以便在过滤表达式中使用。此外,请注意,您的过滤表达式也可以作为列表提供;这些表达式将进行与运算,例如:
```csvtable
source: my_csv_file.csv
filter:
- population < 100000000
- name == "Colombia"
```
请注意,过滤语言要求您在比较中使用双引号括起的字符串 — 如果您在上面输入 name == 'Colombia'
,过滤器将不会返回结果。
排序行
如果您想要对显示的 CSV 文件的行进行排序,可以提供一个排序表达式:
```csvtable
source: my_csv_file.csv
sortBy: name
```
name | population |
---|---|
Colombia | 50340000 |
Russia | 144400000 |
United States of America | 328200000 |
此外,您还可以将 sortBy
表达式指定为一个列表;文档将按照指定的所有字段按照等级顺序进行排序:
```csvtable
source: my_csv_file.csv
sortBy:
- columnOne
- columnTwo
```
如果您使用扩展格式指定 sortBy
表达式,允许您同时指定表达式和排序方向,您还可以按照相反的顺序对显示的数据进行排序:
```csvtable
source: my_csv_file.csv
sortBy:
- expression: name
reversed: true
```
name | population |
---|---|
United States of America | 328200000 |
Russia | 144400000 |
Colombia | 50340000 |
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。