Faça um programa para ler o arquivo da atividade e realizar o cálculo da diferença entre uma linha e a próxima das colunas h’F, foF2 e hpF2. Gere um novo arquivo com as informações calculadas.
Original
Redutor: AUTOMATICO PELO POLINOMIO
Data: 18/02/2020
UT LT h'F foF2 hpF2 SF ES
0,0032 21,0032 296 4,01 338 - N
0,0832 21,0832 204 4,64 406 - N
Novo
Redutor: AUTOMATICO PELO POLINOMIO
Data: 18/02/2020
UT LT h'F foF2 hpF2 SF ES
0,0032 21,0032 -92 0,63 68 - N
0,0832 21,0832 51 0,33 -20 - N
Próximos valores de h’F, foF2 e hpF2 , 253; 4,97; 386
Soluções para a tarefa
Resposta:
Aqui está um exemplo de um programa em Python que lê um arquivo de dados, calcula a diferença entre cada linha e a próxima nas colunas h'F, foF2 e hpF2 e gera um novo arquivo com as informações calculadas:
import csv
# Nome do arquivo de entrada
input_file = 'original.csv'
# Nome do arquivo de saída
output_file = 'novo.csv'
# Abrir arquivo de entrada e ler as linhas
with open(input_file, 'r') as in_file:
reader = csv.reader(in_file)
data = [row for row in reader]
# Cabeçalho do arquivo
header = data[0]
# Adicionar colunas para as diferenças
header += ['h\'F diff', 'foF2 diff', 'hpF2 diff']
# Lista para armazenar as linhas com as diferenças calculadas
diff_data = []
diff_data.append(header)
# Calcular as diferenças e adicionar as linhas à lista
for i in range(1, len(data)-1):
current_row = data[i]
next_row = data[i+1]
h_F_diff = float(next_row[3]) - float(current_row[3])
foF2_diff = float(next_row[4]) - float(current_row[4])
hpF2_diff = float(next_row[5]) - float(current_row[5])
current_row += [h_F_diff, foF2_diff, hpF2_diff]
diff_data.append(current_row)
# Escrever as linhas com as diferenças para o arquivo de saída
with open(output_file, 'w', newline='') as out_file:
writer = csv.writer(out_file)
writer.writerows(diff_data)
print('Arquivo de saída criado com sucesso!')
Este exemplo supõe que o arquivo de entrada tem o nome "original.csv" e está no mesmo diretório do programa. O arquivo de saída gerado terá o nome "novo.csv" e estará no mesmo diretório. Certifique-se de que o formato do arquivo de entrada é compatível com o código acima antes de executá-lo.