Jump to content
Gustavo Dal Pai Silva

Corrigir Data .CSV

Recommended Posts

Gustavo Dal Pai Silva

Olá,

Tenho .csv com 3000 linhas falando sobre datas e horários de um veículo:

1 #Arrival_Date#  #Arrival_Time#  #Departure_Date#  #Departure_Time# 
2  2017/01/01      23:30           2017/01/01        00:30 
3  2017/02/01      23:30           2017/02/01        23:40 
4  2017/03/01      15:45           2017/03/01        17:30 
5  2017/04/10      23:50           2017/04/10        00:30 
6  2017/07/16      23:50           2017/07/17        00:30

 

Meu problema é que preciso corrigir as datas do #Departure_Date# toda vez que o dia passa de 00:00. Linha 6, por exemplo, está correta. Linhas 2 e 5 não.

Num primeiro momento, utilizei o Excel para filtrar os #Arrival_Time# próximos de 00:00 e mudei das datas no manualmente. Foi um pouco trabalhoso, mas deu certo.

Conversando com um professor meu, o mesmo disse que talvez utilizando python eu poderia automatizar esse processo. Mas não faço de ideia de como fazer ou por onde começar.

Alguém poderia me dar uma luz?

Agradeço desde já.

Share this post


Link to post
Share on other sites
M6

Bom, tens um problema de dados sujos que deve ser resolvido na origem (o sistema de origem está a fazer porcaria e o problema deve ser resolvido aí).

Quanto à tua questão, diria que podes fazer uma coisa relativamente simples que deve funcionar:

  1. Carregas os dados em forma de date/time
  2. Se Arrival <= Departure, tens um erro, somas um dia ao Departure e ficas com um intervalo de datas correto

Tens de ter em mente que estás admitir que a distância entre o Arrival e o Departure é sempre, no máximo, de 1 dia. Por exemplo, a tua linha 2, o Departure Date podia bem ser 2017/01/03, mas isso é algo que tu não sabes (daí ter começado por dizer que o problema tem de ser resolvido na origem).

  • Vote 1

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.