como cortar um csv como peças para uma condição

0

Eu tenho um CSV que possui os seguintes dados

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
.....................................
.....................................
....................................

Da mesma forma, tenho tempo e t_count para cada estado e cada hora.Tenho o formulário de estado de 2 a 99 e hora de 1 a 23.Então, preciso dividir este CSV em cada CSV para cada estado e cada hora como

 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

e assim por diante.

    
por RKR 30.12.2016 / 03:50

1 resposta

0

experimente este comando awk.

awk 'NR>2{filename="state_"$3"_hour_"$NF".csv"; print $0 > filename}' input.csv
    
por 30.12.2016 / 07:37