Python: перебрать каждый столбец / строку соответственно и вычесть значение между двумя CSV-файлами - PullRequest
0 голосов
/ 07 мая 2018

Я хочу вычесть каждое значение (test.csv) с каждым значением строки в каждом столбце (input.csv). Например, 0,0010 (test.csv) - 0,0023 (input.csv) и 0,0010 (test.csv) - 0,0030 (input.csv), за которым следует следующий номер в test.csv со следующим столбцом в input.csv, 0,8236 ( test.csv) - 8,6932 (input.csv) и 0,8236 (test.csv) - 16,881 (input.csv). Однако мне удается только вычесть первое значение test.csv с первым столбцом в input.csv.

Кто-нибудь может подсказать мне, как решить эту проблему?

input.csv -

  • 0,0023 8,6932 0,9976
  • 0,0030 16,881 0,9975

test.csv -

  • 0,0010
  • 0,8236
  • 0,1165
  • 0,1789
  • 0,1760
  • 1,4450

Но я получаю

  • ...., 0,0010, 0,0023
  • ...., 0,0010, 0,0030
  • ...., 0,8236
  • ...., 0,1165
  • ...., 0,1789
  • ...., 0,1760
  • ...., 1.4450

Мой ожидаемый результат примерно такой

  • ...., 0,0010, 0,0023
  • ...., 0,0010, 0,0030
  • ...., 0,8236, 8,6932
  • ...., 0,8236, 16,881
  • ...., 0,1165, 0,9976
  • ...., 0,1165, 0,9975

Спасибо

f1=open('input.csv')
csv_f1 = csv.reader(f1)
f2=open('test.csv')
csv_f2 = csv.reader(f2)

y=0
for row in csv_f2:
   test_data = np.array([float(row[y])])
   for row in csv_f1:
       all_data = np.array([float(row[x])])
       result = (test_data  -   all_data)
       print ("Expected",test_data,all_data)

1 Ответ

0 голосов
/ 07 мая 2018

Я добавляю это только для того, чтобы это можно было пометить как ответ / решено.
произошла логическая ошибка, мой комментарий:

для продвижения по y и начала на каждой "последней" итерации

решил проблему.

...