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)
