У меня есть эта проблема, чтобы поместить данные в столбец в зависимости от значения данных в его строке Primary
или Secondary
Вот мой пример:
Это мой source.xlsx
, где я получаю свои данные.
Source Dummy Data
Secondary DUMMY 22134007
Secondary DUMMY 27543350
Secondary DUMMY 22128972
Primary DUMMY 29579399
Secondary DUMMY 23781175
Primary DUMMY 1000185771
Primary DUMMY 22135458
Secondary DUMMY 022130241
Primary DUMMY 22137751
Primary DUMMY 27543359
и вот где я буду помещать данные столбца Data
в source,xlsx
, в output.xlsx
svc_no MDF Primary Data Secondary Data
1000185771 DUMMY
22134007 DUMMY
27543350 DUMMY
22135458 DUMMY
22137751 DUMMY
22128972 DUMMY
27543359 DUMMY
29579399 DUMMY
23781175 DUMMY
Теперь я хочу поместить значения столбца Data
в output.xlsx
путем поиска значения столбца Source
в source.xlsx
Как это:
Это должен быть вывод FinalOutput.xlsx
svc_no MDF Primary Data Secondary Data
1000185771 DUMMY 1000185771
22134007 DUMMY 22134007
27543350 DUMMY 27543350
22135458 DUMMY 22135458
22137751 DUMMY 22137751
22128972 DUMMY 22128972
27543359 DUMMY 27543359
29579399 DUMMY 29579399
23781175 DUMMY 23781175
Значение Data
в source.xlsx
будет соответствовать svc_no
в output.xlsx
, но оно должно знать, находится ли оно в столбце Primary
или Secondary
.
Это то, что я сделал.
import pandas as pd
df_1 = pd.read_excel("output.xlsx")
df_2 = pd.read_excel("sourcefile2.xlsx", "v0.02")
df_1 = pd.DataFrame(df_1)
df_2 = pd.DataFrame(df_2)
Primary = df_2['Source'].str.contains('Primary')
Secondary = df_2['Source'].str.contains('Secondary')
df_1 = df_1[df_1['svc_no'].isin(df_2[Primary]['Data'])]
df_1['Primary Data'] = df_1['svc_no']
df_1 = df_1[df_1['svc_no'].isin(df_2[Secondary]['Data'])]
df_1['Secondary Data'] = df_1['svc_no']
df_1.to_excel('FinalOutput.xlsx')