python3列表减去问题-错误列表不可调用

时间:2019-03-18 03:30:36

标签: python list subtraction

我正在尝试打开csv文件(两个),并从这两个文件的两列中减去值。我将数据称为数组,然后使用map和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)

1 个答案:

答案 0 :(得分:1)

只需创建一个输出文件并将数据放入

您可以使用pandas或仅使用当前的csv lib

with open('my_output.csv', mode='w') as output_file:
    writer = csv.writer(output_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    writer.writerow(['John Smith', 'Accounting', 'November'])