首页 > 解决方案 > 根据是否每天输入,将输入日志 (csv) 转换为名称列表

问题描述

我有一个来自安全系统的原始打印输出,它记录和记录系统采取的行动。

设施经理想要一份报告,其中包含基于当天是否输入的姓名列表。


17/1/2019
John Smith
Beth Hook
16/1/2019
等。

CSV 文件:https
://drive.google.com/open?id=1ABj1gxFG-1j41jai6_TjXsezHXvd2qQL *名称已更改以保护客户的身份

它已经提供了用户名,所以我认为步骤是:

  1. 获取日期
  2. 检查名称
  3. 如果为空,则忽略
  4. 否则,检查名称数组
  5. 如果不存在,添加到数组
  6. 否则,忽略
  7. 重复

可以为每一天导出一个 CSV,这样程序就不必一次解释多个日期。

我不知道如何使用似乎是大多数解决方案的 python,因此非常感谢任何帮助。虽然我真的不介意它是什么语言或者我是否需要安装其他程序。

提前致谢。

标签: pythoncsvreport

解决方案


使用 Miller ( http://johnkerl.org/miller/doc ) 一个命令行实用程序,

mlr --csv filter '$User=~".+"' then cut -o -f Date,User \
then uniq -a "Example Report.csv" | \
mlr --csv --headerless-csv-output  nest --implode --values --across-records -f User | \
sed -r 's/(,|;)/\n/g'

你有

17/1/19
Beth Hook
CEO
John Smith
16/1/19
Peter Man
Jess Hare
Finn Tomb
John Smith
Finance
15/1/19
CEO
Peter Man
member 34
Beth Hook
John Smith
14/1/19
SYSTEM USER
Bin Stick
Peter Man
CEO
Partner
L Stick
Tie Cooler
member 16
John Smith
13/1/19
Partner
Peter Man
11/1/19
Wheels Hireman
Bunny
10/1/19
Bunny
member 36
Mary Stone
9/1/19
Bunny
Jus Wall
member 36

推荐阅读