У меня есть несколько длинных наборов данных, которые я пытаюсь прочитать с помощью numpy, и добавляю значение к каждой строке и выводю их в виде CSV.Конечная цель - разделить несколько измерений из одного и того же файла, поэтому мне нужен какой-то способ пометить каждое из них.Я придумал это:
def csv_test(data_file):
data_nd = np.genfromtxt(str(data_file),
delimiter=";",
usecols=(-3, -2, -1),
dtype=None)
data = np.ndarray.tolist(data_nd)
output = []
sub_output = []
sub1 = str(1)
for i in data:
sub_output.append(i)
sub_output.extend(sub1)
output.append(sub_output)
print(output)
x_val = 1
x_string = str(x_val)
filename_out = str("temp_" + x_string + ".csv")
with open(filename_out, "w") as f:
writer = csv.writer(f)
for sublist in output:
writer.writerows(sublist)
Проблема в том, что мой вывод выглядит следующим образом:
[[[0.0, -0.051, -1.525651e-07], '1', ...
, а не как
[[[0.0, -0.051, -1.525651e-07, '1'] ...
Так что в записи CSVшаг, добавленная стоимость переходит на новую строку.Как я могу получить его для добавления в список в списке?
Пример данных:
0;0.000000;-0.050;-6.900140e-008
0;0.100000;-0.050;-6.843410e-008
0;0.200000;-0.050;-6.778820e-008
0;0.300000;-0.050;-6.654330e-008
0;0.400000;-0.050;-6.598800e-008
0;0.500000;-0.050;-6.497330e-008
0;0.600000;-0.050;-6.415210e-008
0;0.700000;-0.050;-6.349080e-008
0;0.800000;-0.050;-6.181810e-008
0;0.900000;-0.050;-6.148080e-008
0;1.000000;-0.050;-6.032090e-008