Объединение двух листов одного Excel в один лист - PullRequest
0 голосов
/ 04 июля 2019

Я пытаюсь объединить 2 листа из excel.xlsx, используя скрипт Python.Я хочу, чтобы sheet1 ('CLASS') соответствовал sheet2 ('C_MAP'), а затем объединить DSC и ASC после CLASS в sheet1 или в новом листе.

Чтобы прояснить это, я прилагаю свои листы Excel.

это мой Лист1:

  P_MAP  Q_GROUP    CLASS
0   ram        2     pink
1              4   silver
2  sham        5    green
3              0  default
4   nil        2     pink

содержит P_MAP,Q_GROUP,CLASS

это мой Лист2:

    C_MAP DSC    ASC
0    pink  h1  match
1   green  h2  match
2  silver  h3  match

содержит C_MAP,ASC,DSC

Итак, я хочу, чтобы когда CLASS соответствовал C_MAP, он должен добавить ASC и DSC, а если он не соответствует, добавить NA.

Вывод, который я хочу получить, будет таким:

  P_MAP  Q_GROUP    CLASS DSC    ASC
0   ram        2     pink  h1  match
1              4   silver  h3  match
2  sham        5    green  h2  match
3              0  default   0     NA
4   nil        2     pink  h1  match

1 Ответ

1 голос
/ 04 июля 2019

То, что вы хотите, это pd.merge:

df1 = pd.read_excel('filename.xlsx', sheet_name='Sheet1') # fill in the correct excel filename
df2 = pd.read_excel('filename.xlsx', sheet_name='Sheet2') # fill in the correct excel filename

df_final = df1.merge(df2, 
                     left_on='CLASS', 
                     right_on='C_MAP', 
                     how='left').drop('C_MAP', axis=1)

df_final.to_excel('filename2.xlsx')

Выход

  P_MAP  Q_GROUP    CLASS  DSC    ASC
0   ram        2     pink   h1  match
1              4   silver   h3  match
2  sham        5    green   h2  match
3              0  default  NaN    NaN
4   nil        2     pink   h1  match
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...