如何将基于日期的CSV文件转换为电子表格?

时间:2017-02-01 19:21:13

标签: linux excel csv transformation

我有一个这样的文件:

100,2015-09-01
100,2015-09-02
105,2015-09-01
645,2017-01-01

它只是一个以逗号分隔的数字和日期。它有20000行。

我想将此文件转换为电子表格(Google,Excel,LibreOffice,任何格式,甚至是CSV),如果在给定日期出现,则会显示每个数字。例如:

ID  | 2015-09-01 | 2015-09-02 | 2017-01-01
----+------------+------------+-----------
100 | YES        | YES        | NO
105 | YES        | NO         | NO
645 | NO         | NO         | YES

我该怎么做?

我在Linux上,因此可以使用sedawk等命令行实用程序作为自动执行此操作的首选方法。

2 个答案:

答案 0 :(得分:1)

可以使用AWK使其工作。

public static Specification<SomeEntity> start() {
    return (root, criteriaQuery, criteriaBuilder) -> {
        root.fetch(SomeEntity_.employee, JoinType.INNER);

        // NOW RETURN WHAT ???
        return null;
    };
}

答案 1 :(得分:0)

与您发布的数据(由excel读取)相当的CSV是:

ID,2015-09-01,2015-09-02,2017-01-01
100,YES,YES,NO
105,YES,NO,NO
645,NO,NO,YES

因为您可以轻松测试是否创建了该电子表格并将其导出为CSV格式。

因此,为了能够将其作为CSV读取,您首先要将您发布的格式的数据转换为我在上面发布的格式,然后将其导入为CSV。这可以通过@ThiagoNegri在这里发布的AWK脚本来完成,所以我不打算再重复一次。