Как найти в столбцах в двух книгах совпадающее значение и записать значение из другого столбца из одной совпадающей строки в одну из книг? - PullRequest
0 голосов
/ 07 февраля 2019

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

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

В приведенном ниже примере я хотел бы сравнить столбец A между двумя рабочими книгами.Найдя подходящее значение, я хотел бы записать значение в той же строке из столбца C в рабочей книге 1 в столбец C в рабочей книге 2.

Input workbook 1:
A      B    C
dog    1    red
cat    2    green
bird   3    blue

Input workbook 2:
A      B       C     D       E
pig    house         stuff   stuff
cat    car           stuff   stuff
horse  train         stuff   stuff

Output Workbook 2
A       B      C       D       E
pig     house          stuff  stuff
cat     car    green   stuff  stuff
horse   trian          stuff  stuff

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

Например, такие вещи заканчивали тем, что копировали данные из одной рабочей книги в другую,но он не совпал нигде, как предполагалось.

df2 = df1.merge(df2, 'A', 'C')
df2 = pd.merge(df2,df1, on=['A'], how='left')
df2 = pd.concat([df1.set_index('A') for d in [df1, df2]], axis=1).reset_index()

Если это поможет, мои фактические данные содержат несколько сотен строк в каждой книге.Есть только два столбца, которые фактически совпадают по имени заголовка.Один - это столбец, который я сравниваю, а другой - данные, которые я пытаюсь записать из одной рабочей книги в другую.

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

...