Сравнение столбцов Excel с использованием Python

Вопрос: У меня есть файл excel, в котором есть несколько столбцов. COL 1 | COL 2 | COL 3 ABCD | ABC(D) | CDA AB CD | ABC D | C D - (B) A B C D | (ABCD) | ABCD ABC D | ABDC | ABC D A(BC ) D | AD B

Вопрос:

У меня есть файл excel, в котором есть несколько столбцов.

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

Я хочу сравнить каждый столбец с каждым другим столбцом и хочу печатать сходства и различия между столбцами.

например:

  1. сравнение COL 1 и COL 2

    сходства:

    None

    отличия:

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

затем сравнение COL 2 и COL 3, а затем сравнение COL 1 и COL 3. Нужно только точное совпадение строк, даже пробел, считающийся несоответствием. Возможно, число столбцов может увеличиться, а сравнение начинается со второй строки столбца.

Как я могу реализовать такое рекурсивное сравнение в Python, которое дает мне быстрый результат обработки?

Ответ №1

Вы можете использовать xlrd. Прежде всего, прочитайте содержимое из своего файла. Во-вторых, сохраните три столбца в три словаря, так как dict работает быстрее в сравнении. В-третьих, выполните сравнительную работу и выведите результат.

Я предлагаю вам проверить API xlrd и написать код самостоятельно. Вот ссылка.

Любые вопросы, не стесняйтесь спрашивать.

РЕДАКТИРОВАТЬ:

Вот пример.

#!/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 Ответ №2

Алгоритм может быть

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

Оцените статью
Добавить комментарий