У меня есть data.csv
файл, который выглядит следующим образом.
-1.95e+01 -2.30e-01 -2.56e-01 4.44e+01
-1.95e+01 -2.30e-01 -7.68e-01 4.48e+01
-2.00e+01 -2.30e-01 -2.56e-01 3.41e+01
-2.00e+01 -2.30e-01 -7.69e-01 3.46e+01
-2.10e+01 -9.92e+00 1.00e+01 9.66e+01
-2.10e+01 -9.92e+00 2.30e+00 4.29e+01
Я хотел бы иметь файл result.csv
, чтобы, если значение в первом столбце совпадает, захватить все данные в первых четырех столбцах (есть 4 столбца) и сохранить это в файле result.csv
. Затем следующие равные значения и сохраните их в следующих четырех столбцах. Например, мой result.csv
должен выглядеть так
-1.95e+01 -2.30e-01 -2.56e-01 4.44e+01 -2.00e+01 -2.30e-01 -2.56e01 3.41e+01 -2.10e+01 -9.92e+00 1.00e+01 9.66e+01
-1.95e+01 -2.30e-01 -7.68e-01 4.48e+01 -2.00e+01 -2.30e-01 -7.69e-01 3.46e+01 -2.10e+01 -9.92e+00 2.30e+00 4.29e+01
Моя основная попытка выглядит следующим образом:
with open('data.csv', 'r') as f:
csv_reader = csv.reader(f, delimiter='\t')
for col in csv_reader:
i = 0
if col[0] == "Next value of the same column": 'don't know how to fix
#Grab all the values which have same value in the first column
else:
#Grab next values which have same value in the first column
i += 1
import csv
with open('data.csv', 'r') as _:
input = csv.reader(_, delimiter='\t')
output = [[]]
previous_col0 = None
line_n = 0
for cols in input:
if cols[0] == previous_col0:
line_n += 1
else:
previous_col0 = cols[0]
line_n = 0
if len(output) <= line_n:
output += [[]]
output[line_n] += cols