Como adicionar carimbo de data/hora ao arquivo csv em Python?
Arquivos CSV são um formato simples e amplamente utilizado para armazenamento e troca de dados. Às vezes, podemos precisar adicionar um carimbo de data/hora ao arquivo CSV, como quando queremos acompanhar quando os dados foram coletados ou atualizados. Neste artigo, exploraremos como adicionar um carimbo de data/hora a um arquivo CSV em Python. Discutiremos diferentes métodos para adicionar um carimbo de data/hora, como usar o módulo datetime e a biblioteca pandas. Também forneceremos instruções passo a passo e exemplos de código para ajudá-lo a começar a adicionar um carimbo de data/hora aos seus arquivos CSV.
Módulo DataHora
Um módulo datetime pode ser usado para trabalhar com data e hora, pois não há tipos de dados de data ou hora em Python. Python já possui o módulo DateTime integrado, portanto não precisamos instalá-lo separadamente.
Classes de manipulação de data e hora estão disponíveis no módulo Python DateTime. Datas, horários e períodos de tempo são os principais parâmetros dos métodos incluídos nessas estruturas. Como Date e DateTime são objetos em Python, em vez de textos ou carimbos de data/hora, qualquer modificação feita neles terá o mesmo efeito.
Módulo CSV de Python
O módulo Python csv possibilita trabalhar com arquivos de valores separados por vírgula (CSV), que são uma forma comum de armazenar dados tabulares. O módulo possui métodos para ler e gravar arquivos CSV, analisar dados CSV e manipulá-los.
O módulo csv possui classes que podem escrever e ler dados que estão em formato tabular no formato CSV. Ele permite que os programadores digam coisas como “escrever esses dados no formato que o Excel deseja” ou “ler os dados deste arquivo que o Excel criou” sem precisar saber os detalhes exatos do formato CSV que o Excel usa. Os usuários também podem descrever os formatos CSV que outros aplicativos podem compreender ou criar seus próprios formatos CSV para fins específicos.
Os objetos escritor e leitor do módulo csv são usados para ler e escrever sequências. Com as classes DictReader e DictWriter, os programadores também podem ler e escrever dados na forma de dicionários.
Adicionando um carimbo de data/hora a um novo arquivo CSV em Python
Etapas para adicionar carimbo de data/hora a um novo arquivo
Importando os módulos datetime e CSV. O módulo csv será usado para receber e gravar o arquivo csv, enquanto o módulo datetime será utilizado para anexar a data e hora atuais ao arquivo csv.
Obtenha os dados do usuário que queremos adicionar ao arquivo.
Use a função open() para abrir o arquivo CSV no modo de leitura e gravação ('r+').
A função open() abre um arquivo e retorna um objeto de arquivo que representa o arquivo.
O funcionamento do modo de novas linhas universais é controlado pela configuração nova linha=“”. Pode ser Nenhum, "," "n", "r" ou "rn".
write() devolve um objeto escritor encarregado de transformar os dados do usuário em uma string com espaços.
Use o datetime para obter a data e hora atuais.
O módulo datetime tem uma função chamada now().
Com a ajuda de um loop for, analise todos os dados na variável rows.
-
Usando a função insert(), você pode colocar a data e hora atuais no 0º índice de cada dado.
Com a data e hora atuais, use writerow() para gravar os dados no arquivo CSV.
Exemplo
# Importing all the important required modules
import csv
from datetime import datetime
# We will be storing data in the variable r
# After that we will add this data to our CSV file
r = [['Tutorialspoint', '--'],
['Simply', 'Easy'],
['learning', 'at fingertips']]
# Use open() module to open the CSV file
# open csv file in read and write mode
with open(r'C:/Users/Tutorialspoint/Desktop/sample2.csv', 'r+', newline='') as f:
# create the csv writer
fwrite = csv.writer(f)
# Now we will store current time and date
current_dnt = datetime.now()
# Iterating over each and every data in the r variable
for v in r:
# Inserting the date and time at 0th
# index
v.insert(0, current_dnt)
# writing the data in csv file
fwrite.writerow(v)
Saída
Adicionando um carimbo de data/hora a um arquivo CSV existente em Python
Primeiramente abra o arquivo que já existe em modo leitura e o novo arquivo em modo gravação. Usando a função reader() do módulo CSV para transformar o primeiro arquivo em um objeto leitor CSV. reader() fornece um objeto que percorrerá cada linha de um arquivo CSV.
Use um loop for para adicionar todas as informações do primeiro arquivo à variável rows. Use a função escritor() do módulo CSV para criar um objeto escritor para o segundo arquivo. Agora, use um loop for para percorrer todos os dados na variável rows. Armazene a data e hora atuais em uma variável. Em seguida, use a função insert() para colocá-lo nos dados no 0º índice. Use a função writerow() do módulo CSV para colocar os dados que foram salvos no Arquivo2.
Exemplo
import csv
from datetime import datetime
# We will create a list where we can store content of the file
r = []
# open the existing csv file in the read mode
with open(r'C:/Users/Tutorialspoint/Desktop/industry.csv', 'r', newline='') as f:
# Opening new CSV file to in write mode
# to add the data
with open(r'C:/Users/Tutorialspoint/Desktop/sample.csv', 'w', newline='') as f2:
# creating the csv reader
reader = csv.reader(f, delimiter=',')
# we will store the data of existing foile in r
for row in reader:
r.append(row)
# creating the csv writer
f_write = csv.writer(f2)
# Iterating over all the data in the r variable
for v in r:
# storing current date and time in a variable
current_dt = datetime.now()
v.insert(0, current_dt)
# writing the data in csv file
f_write.writerow(v)
Saída
Conclusão
Neste artigo, aprendemos que um módulo chamado datetime pode ser usado para trabalhar tanto com data quanto com hora e podemos usar o módulo CSV para manipular arquivos CSV. Vimos como podemos adicionar carimbos de data/hora a arquivos novos ou existentes usando Python.