7 个不稳定版本 (3 个重大更改)
0.4.0 | 2022 年 8 月 20 日 |
---|---|
0.3.0 | 2022 年 8 月 3 日 |
0.2.3 | 2022 年 7 月 25 日 |
0.2.1 | 2022 年 6 月 26 日 |
0.1.0 | 2022 年 6 月 6 日 |
#1868 in 数学
19KB
547 代码行
datamars
我自己的 GNU datamash 版本。
此软件为预_alpha 版,缺少许多功能。
安装
如果您想获取最新版本,请使用 cargo install datamars
。
注意:可执行文件名为 ms
。
实现细节
算法基本上是这样的
args = parse_args()
# parse ops
ops = build_operation_objects(args.ops)
groups = dict(str->list[ops])
for line in file:
parts = line.split(args.delimiter)
group = groupby(parts) if grouping is defined else default
if group not in groups:
# build new objects for every group
groups.add_group(group, ops)
for op in groups[group]:
op.process(parts)
for group in groups:
print(group, [op.result() for op in group])
每个组有一组操作。操作保持组的运行状态。操作为组中的每个新条目更新状态 - 但只更新所需的状态,例如不需要计算平方偏差。应该很快。
依赖项
~3.5MB
~66K SLoC