表格导入
我的表格导入能应付真实工具导出的内容吗?
tabular-import 预设用一条命令为这个问题构建出整套真实测试文件,并在旁边放一个
manifest.json,说明你的系统应如何响应每个文件。以下所有内容都按此版本的默认值从程序中读取。
它通常能发现什么?
- 用分号分隔的文件被读成单列,因为分隔符是假定的而不是探测出来的
- CRLF 文件被拆成行,每行后面多出一个空行
- 没有表头的表格,第一行数据被当成列名吞掉
- 导入只保留能显示的列,其余的悄悄丢弃
- 读取器逐行读取 JSON 记录,遇到第一个带缩进的文档就停下
集合里有什么?
使用默认值时,如 tfg preset show tabular-import 所报告的:
| 文件数 | 13 |
|---|---|
| 其配方中的 target 数 | 13 |
| 总大小 | 3 080 060 B |
| 格式 | csv, json, xlsx |
以及该集合的清单对你的系统有何预期:
| 预期 | 含义 | 文件数 |
|---|---|---|
accept | 你的系统应该接受这个文件。 | 8 |
unspecified | 取决于你的系统规则。由你决定,然后检查实际发生的是否符合你的本意。 | 5 |
你可以更改什么?
| 设置 | 接受 | 默认值 | 作用 |
|---|---|---|---|
--rows |
1 - 200000 行 | 1000 |
表格有多少行。文件会写成这么多行恰好打包出的大小,所以上面的预算会随这个值变化。 |
--columns |
1 - 32768 列 | 10 |
表格每行有多少列。行数乘列数有上限,超出时会在写入任何内容之前被拒绝。 |
如何运行?
查看集合的开销、构建它,或取出它的配方来编辑:
tfg preset show tabular-import
tfg generate --preset tabular-import --out ./tabular-import
tfg preset eject tabular-import > tabular-import.yaml
也可以在你自己的配方中基于它构建,放在测试旁边:
version: 1
extends: preset:tabular-import