如何将 csv 剪切为条件的一部分

如何将 csv 剪切为条件的一部分

我有一个 CSV 文件,其中包含以下数据

time     t_count       state       hour
_____    ________      _____      _____
  1        10            2          1
  2        12            2          1
  3        30            2          1
  4        12            2          1
  1        9             3          1
  2        18            3          1
  6        27            3          1
  1        18            4          1
  2        30            4          1
  9        27            4          1
.......................................
......................................
  2        30            2          2
  8        18            2          2
  3        36            2          2
  3        6             3          2
  6        19            3          2
  8        28            3          2
  1        19            4          2
  2        36            4          2
  9        30            4          2
.....................................
.....................................
....................................

同样,我有每个州和每个小时的时间和 t_count。我有州形式 2 到 99,小时从 1 到 23。所以我需要将此 CSV 拆分为每个州和每小时的每个 CSV,如下所示

 state_2_hour_1.csv
  1        10            2          1
  2        12            2          1
  3        30            2          1
  4        12            2          1



 state_3_hour_1.csv

  1        9             3          1
  2        18            3          1
  6        27            3          1

...

state_2_hour_2.csv
      2        30            2          2
      8        18            2          2
      3        36            2          2

等等。

答案1

尝试这个 awk 命令。

awk 'NR>2{filename="state_"$3"_hour_"$NF".csv"; print $0 > filename}' input.csv

相关内容