我是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)