使用python CSV或openpyxl比较两个excel / csv工作表数据,并用其他文件值替换其中一个文件

时间:2017-10-12 22:08:17

标签: python csv openpyxl

我是python和CSV以及openpyxl模块的新手。我有以下要求。我有两个excel / csv文件File1和File2。我必须遍历File1前两行(row1,row2)的单元格,并与File2前两行((row1,row2))的单元格进行比较,每当两个文件中的两个单元格匹配时,我需要拾取row3单元格值和File1的row4单元格值,并将其更新为File2中的row3单元格值和row4单元格值。最终目标是遍历file1并与文件2进行比较并更新file2中的值。只要它在更新后具有File2值,我将再使用一个文件。如果有人可以调查并指导我,我会很高兴。到目前为止,我已经使用了CSV,但它有一些限制,无法达到最终结果。 我有的限制是,在生成的新文件中,我只能在更新后填充匹配的记录,但不能填充所有的File2值。我愿意接受openpyxl或xlrd,xlwt以及。

 with open('newfile.csv', 'w+') as newFile:
            writer = csv.writer(newFile, delimiter = ',')
            with open('File1.csv', 'r') as r:
                with open('File2.csv', 'r') as p:
                    reader = csv.reader(r)
                    portreader = csv.reader(p)
                    first = []
                    second = []
                    for row in reader:
                        first.append(row)
                    for portRow in portreader:
                        second.append(portRow)
                        #dummy2 = firstlist
                    for slist in second:
                        #i =0
                        for firstlist in first:
                            if(slist[0] == firstlist[0] and slist[1] == firstlist[1]):
          writer.writerow(firstlist)

File1

File2

0 个答案:

没有答案