Я пытаюсь открыть CSV-файлы (два) и вычесть значения из двух столбцов из этих двух файлов. Я вызываю данные в массивы, а затем использую карту и operator.sub, чтобы получить это, но я застреваю при выводе этих данных в виде печати или в виде другого CSV.
У меня есть данные в виде двух столбцов - a1, b1 и a2, b2 в двух файлах. Я хочу найти вычитание b2 (i) и b1 (i) и создать новый csv-файл с разницей «b». Значения данных немного велики для копирования здесь. Например, 1,10, / n 2, 15 / n 3 20 и т. Д. И 1,20 / n 2,20 / n 3, 30. Я должен получить 5, 5, 10 в качестве списка вывода или в виде массива или даже в качестве выходного файла.
Моя проблема - я не получаю никаких выходных данных, но ошибка «список» не вызывается. Я просмотрел много подробностей о встроенной функции, но все еще не знаю, где я все испортил.
import csv
try:
from itertools import imap
except ImportError:
# Python 3...
imap=map
from operator import sub
a = []
b = []
c = []
with open('1.csv') as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
a.append(row[1])
with open('2.csv') as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
b.append(row[1])
c = list(imap(sub, a, b))
print(c)