import pandas as pd import numpy as np base_dir = 'V:\\Kunden\\Luchtenberg\\1 Umstellung SKR51\\GCStruct_Modell\\Kontenrahmen\\' source_csv = base_dir + 'Kontenrahmen_Export.csv' mul_csv = base_dir + 'Kontenrahmen_mul.csv' result_csv = base_dir + 'Kontenrahmen_Vorlage.csv' df_source = pd.read_csv(source_csv, decimal=',', sep=';', encoding='latin-1', converters={i: str for i in range(0, 200)}) df_source['Konto_Klasse'] = df_source['Konto_Nr'].str.slice(0, 1) df_source['Konto_Art'] = np.where(df_source['Konto_Klasse'].isin(['4', '5', '7', '8']), '2', '1') df_mul = pd.read_csv(mul_csv, decimal=',', sep=';', encoding='latin-1', converters={i: str for i in range(0, 200)}) df_join = df_source.merge(df_mul, how='inner', on=['Konto_Klasse'], suffixes=[None, '_other']) df_join['Konto_Nr'] = df_join['Konto_Nr'] + '_' + df_join['Suffix'] df_join.drop(['Konto_Klasse', 'Suffix'], axis=1, inplace=True) df_source.drop(['Konto_Klasse'], axis=1, inplace=True) df_join = df_join.append(df_source).sort_index() df_join.to_csv(result_csv, decimal=',', sep=';', encoding='latin-1', index=None)