import pandas as pd # Baca CSV 2024 df = pd.read_csv('Data_2024_Tracer_study.csv', sep=';', encoding='utf-8-sig') source_cols = list(df.columns) print(f"Total kolom: {len(source_cols)}") print() # Function normalize dari import_data.py def normalize(col_name): if pd.isna(col_name): return "" return str(col_name).strip().lower() source_cols_lower = {normalize(c): c for c in source_cols} # Mapping yang ada di import_data.py mapping_tester = { # tracer_mapping fields 'status_saat_ini': ['F8', 'f8'], 'bulan_dapat_kerja': ['F502', 'f502'], 'rata_pendapatan': ['F505', 'f505'], 'provinsi_kerja': ['F5a1', 'f5a1'], 'kab_kota_kerja': ['F5a2', 'f5a2'], 'jenis_perusahaan_full': ['F1101', 'f1101'], 'nama_perusahaan': ['F5b', 'f5b'], 'jabatan': ['F5c', 'f5c'], 'tingkatan_tempat_kerja': ['F5d', 'f5d'], 'etika_lulus_full': ['F1761', 'f1761'], 'etika_saat_ini': ['F1762', 'f1762'], 'keahlian_lulus_full': ['F1763', 'f1763'], 'keahlian_saat_ini': ['F1764', 'f1764'], 'metode_perkuliahan': ['F21', 'f21'], 'metode_demonstrasi': ['F22', 'f22'], 'mulai_cari_kerja': ['F301', 'f301'], 'bulan_cari_sebelum_lulus': ['F302', 'f302'], 'cari_iklan': ['F401', 'f401'], 'cari_internet': ['F404', 'f404'], 'jumlah_perusahaan_dilamar': ['F6', 'f6'], 'aktif_cari_kerja_4_minggu': ['F1001', 'f1001'], 'kerja_tidak_sesuai_1': ['F1601', 'f1601'], 'alasan_tidak_sesuai_1': ['F1603', 'f1603'], } def find_column(source_cols, possible_names): source_cols_lower = {normalize(c): c for c in source_cols} for name in possible_names: if normalize(name) in source_cols_lower: return source_cols_lower[normalize(name)] return None print("=== CEK MAPPING TRACER ===") for field, candidates in mapping_tester.items(): found = find_column(source_cols, candidates) if found: print(f"OK: {field} -> '{found}'") else: print(f"NULL: {field} <- {candidates}") print() print("=== KOLOM YANG ADA DI CSV ===") for i, col in enumerate(source_cols): print(f"{i}: {col}")