【问题标题】:Grouping and Splitting CSV Files Through UNIX Command通过 UNIX 命令对 CSV 文件进行分组和拆分
【发布时间】:2015-04-29 08:02:54
【问题描述】:

我有一个大的 CSV 文件。我想通过 UNIX 命令将其拆分为多个 CSV 文件。我的主 CSV 文件包含三列:Date1、Date2 和 Count。我想按 Date1 分组,并希望 Date2 和 Count 信息在单独的 CSV 文件中。我在 master.csv 文件中有很多条目。我还想创建示例中完全提到的文件名。下面是一个例子。

master.csv
Date1,Date2,Count 
10/5/2014,10/12/2014,340
10/5/2014,10/19/2014,316
10/5/2014,10/26/2014,278
10/12/2014,10/19/2014,219
10/12/2014,10/26/2014,182
..........................
..........................


file_10_5_2014.csv
10/12/2014,340
10/19/2014,316
10/26/2014,278

file_10_12_2014.csv
10/19/2014,219
10/26/2014,182

如何像上面提供的示例那样拆分主文件?

【问题讨论】:

  • 不错的计划。问题出在哪里?
  • 如何像上面提供的示例那样拆分主文件?
  • 试一试,如果不起作用,请返回代码,然后人们可能会提供帮助...

标签: linux shell unix ubuntu terminal


【解决方案1】:

这个:

tail -n +2 | while IFS=, read d1 d2 c
do
  echo $d2,$c  > file_${d1//\//_}.csv
done

【讨论】:

  • 这行不通。我已经编辑了这个问题。请检查一下。很抱歉给您带来不便。
【解决方案2】:

您想使用 python 还是 UNIX 命令?您在 python 下标记了该问题,但要求使用 UNIX 命令提供解决方案。

试试这个:

tail -n+2 master.csv | head -n 3 > file_10_5_2014.csv
tail -n+2 master.csv | tail -n 2 > file_10_12_2014.csv

tail -n+2 跳过第一行。

【讨论】:

  • 这行不通。我已经编辑了这个问题。请检查一下。很抱歉给您带来不便。
  • 我建议您更改帖子的标题以反映更新。看起来您想要进行分组操作,而不仅仅是简单的拆分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 2019-05-08
  • 2018-11-04
  • 1970-01-01
  • 2019-02-16
相关资源
最近更新 更多