34 lines
1.7 KiB
Python
34 lines
1.7 KiB
Python
import pandas as pd
|
|
import sys
|
|
sys.path.append('Backend')
|
|
from app.parsers.mappings import (
|
|
YEAR_CONFIG, IDENTITAS_MAPPING, PEKERJAAN_MAPPING, STUDI_LANJUT_MAPPING,
|
|
KESESUAIAN_MAPPING, KOMPETENSI_LULUS_MAPPING, KOMPETENSI_SAAT_INI_MAPPING,
|
|
METODE_PEMBELAJARAN_MAPPING, WAKTU_CARI_KERJA_MAPPING, CARA_CARI_KERJA_MAPPING,
|
|
LAMARAN_KEAKTIFAN_MAPPING, KESESUAIAN_PEKERJAAN_MAPPING, get_field_code
|
|
)
|
|
from app.parsers.column_finder import find_column, get_value
|
|
from app.parsers.converters import konversi_jawaban
|
|
|
|
df = pd.read_csv('Data_Tracerstudy/Data_2019_Tracer_study.csv', sep=';', encoding='utf-8-sig')
|
|
print(f"2019 shape: {df.shape}", flush=True)
|
|
|
|
# Check F1602 and F402
|
|
for col_name in ['F1601', 'F1602', 'F1603', 'F401', 'F402', 'F403']:
|
|
if col_name in df.columns:
|
|
vals = df[col_name].value_counts(dropna=False).to_dict()
|
|
print(f"Column '{col_name}': {vals}", flush=True)
|
|
|
|
# Now check how import_service processes these for 2019:
|
|
source_cols = list(df.columns)
|
|
for target in ['kerja_tidak_sesuai_1', 'kerja_tidak_sesuai_2', 'cari_iklan', 'cari_melamar_tanpa_lowongan']:
|
|
mapped_col = find_column(source_cols, CARA_CARI_KERJA_MAPPING.get(target, []) or KESESUAIAN_PEKERJAAN_MAPPING.get(target, []))
|
|
fc = get_field_code(target, CARA_CARI_KERJA_MAPPING if 'cari' in target else KESESUAIAN_PEKERJAAN_MAPPING)
|
|
print(f"\nTarget '{target}' (code {fc}): mapped to col '{mapped_col}'", flush=True)
|
|
if mapped_col:
|
|
for idx in range(min(5, len(df))):
|
|
row = df.iloc[idx]
|
|
val = get_value(row, source_cols, [mapped_col])
|
|
conv = konversi_jawaban(fc, val)
|
|
print(f" Row {idx}: raw={repr(val)} -> konversi={repr(conv)}", flush=True)
|