Я работаю над проектом, в котором мне нужно найти изменения, сделанные на втором листе (конкретный столбец), по сравнению с основным / основным листом.
после этого я хотел напечатать или сохранить всю строку, в которой найдены изменения.
вот больше подробностей.
оба листа Excel имеют много столбцов
мой мастер лист имеет данные примерно так:
TID LOC HECI RR UNIT SUBD S EUSE INV ACT CAC FMT CKT DD
SCID CUSTOMER F&E/SERVICE ID BVAP PORD AUTH RULE ST RGN
CHCGILDTO3P050101D CHCGILDTO3P M3MSA0S1RA 0501.01D 1A1 IE D STR3RA8 S CL/HFFS/688898 /LGT 2018-07-21 BLOOMBERG LP DS3-16668545 WMS881282 E.485339 IL N
CHCGILDTO3P050101D CHCGILDTO3P M3MSA0S1RA 0501.01D 1A2 IE J DNA UNDER DECOM EID 2466 2019-03-22 WMS881282 E.485339 IL N
CHCGILDTO3P050101D CHCGILDTO3P M3MSA0S1RA 0501.01D 1A3 IE J DNA UNDER DECOM EID 2466 2019-03-22 WMS881282 E.485339 IL N
CHCGILDTO3P050101D CHCGILDTO3P M3MSA0S1RA 0501.01D 1A4 IE J DNA UNDER DECOM EID 2466 2019-03-22 WMS881282 E.485339 IL N
CHCGILDTO3P050101D CHCGILDTO3P M3MSA0S1RA 0501.01D 1A5 IE J DNA UNDER DECOM EID 2466 2019-03-22 WMS881282 E.485339 IL N
и мой второй лист содержит следующие данные:
HECI UNIT INV SUB ACT CKT PACT DD LOC RR
M3MSA0S1RA 1A1 IE $ CL/HFFS/688898 /LGT D 72118 CHCGILDTO3P 0501.01D
M3MSA0S1RA 1A2 IE J DNA UNDER DECOM EID 2466 32219 CHCGILDTO3P 0501.01D
M3MSA0S1RA 1A3 IE J DNA UNDER DECOM EID 2466 32219 CHCGILDTO3P 0501.01D
M3MSA0S1RA 1A4 IE J DNA UNDER DECOM EID 2466 32219 CHCGILDTO3P 0501.01D
M3MSA0S1RA 1A5 IE J DNA UNDER DECOM EID 2466 32219 CHCGILDTO3P 0501.01D
поэтому сначала я хочу проверить, совпадают ли значения LOC HECI RR & UNIT на обоих листах, которые я хочу переместить вперед, и в столбец comapre ACT и вывести разницу в качестве выходных данных.
например, вы можете увидеть строку # 1
в основных данных ACT - «D», а где, как и на втором листе, оно изменяется на «$»
так что я хочу выводить что-то вроде
связанная полная строка, в которой говорится, что она меняется с 'D' на '$'
это кажется мне очень сложным, так как я на начальной стадии питона и панд.
Я пытался использовать циклы, но не смог выполнить их, если использовал слишком много циклов, что, как я полагаю, не панды
вот мой код:
import pandas as pd
df1 = pd.read_excel("Master Database.xlsx")
df2 = pd.read_excel("CHCGILDTO3P_0501.01D.xlsx")
d1_act = df1['ACT']
d2_act = df2['ACT']
for index1, row1 in df1.iterrows():
for index2, row2 in df2.iterrows():
if(row1['LOC'],row1['HECI'],row1['RR']) ==(row2['LOC'],row2['HECI'],row2['RR']):
for x in d1_act and y in d2_act:
#print(x,y)
if x != y:
print (x, y) # not getting how to print complete respective row
else:
pass
else:
pass
Я хочу вывод:
M3MSA0S1RA 1A1 IE $ CL/HFFS/688898 /LGT D 72118 CHCGILDTO3P 0501.01D
изменяется от 'D до' $ '
пожалуйста, помогите!
заранее спасибо!