使用Python进行Excel列比较

我有一个excel文件,其中有一些列。

COL 1 | COL 2 | COL 3 ABCD | ABC(D) | CDA AB CD | ABC D | CD - (B) ABCD | (ABCD) | ABCD ABC D | ABDC | ABC DA(BC ) D | AD B - C| AB CD 

我想比较每一列与其他列,并希望列之间的相似之处和差异。

例如 :

  1. 比较COL 1和COL 2

    相似之处:

     None 

    差异:

     ABCD AB CD ABCD A(BC ) D ABC(D) ABC D (ABCD) ABDC AD B - C 

然后比较COL 2和COL 3,然后比较COL 1和COL 3.只需要精确的string匹配,甚至将空白视为不匹配。 列号可能会增加,从列的第二行开始比较。

我怎么能在Python中实现这种recursion比较,这使我快速处理输出?

你可以使用xlrd 。 首先,从你的文件中读取内容。 其次,将三列保存为三个字典,因为字典比较快。 第三,做比较工作并输出结果。

我build议你检查xlrd的API并自己写代码。 这里是链接 。

有任何问题请随时询问我(们。

编辑:

这是一个例子。

 #!/usr/bin/python #-*- coding:utf-8 -*- name = {1:'a', 2:'b', 3:'c'} lname = {1:'g', 2:'b', 3:'v'} common = {} diff_name = {} diff_lname = {} for key in name.keys(): if name[key] == lname[key]: common[key] = name[key] else: diff_name[key] = name[key] diff_lname[key] = lname[key] print 'common part is:', common print 'diff_name is: ', diff_name print 'diff_lname is: ', diff_lname 

algorithm可能是

 for colA in range(0, N): for colB in range (colA + 1, N - 1): compare(colA, colB)