import pandas as pd import re # Baca CSV df = pd.read_csv('Data_2024_Tracer_study.csv', sep=';', encoding='utf-8-sig') cols = list(df.columns) # Normalize function dari import_data.py def normalize(col_name): if pd.isna(col_name): return "" return str(col_name).strip().lower() 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 # Mapping yang ada di import_data.py mapping_tester = { 'nim': ['nimhsmsmh', 'NIM/Nomor Mahasiswa', 'NIM', '3. NIM / nimhsmsmh', '3. NIM / nimhsmsmh (Gunakan Huruf Besar)'], 'nama': ['nmmhsmsmh', 'Nama', '4. Nama Lengkap / nmmhsmsmh (Gunakan Huruf Besar)'], 'email': ['emailmsmh', 'Email', '6. Alamat Email / emailmsmh'], 'tahun_lulus': ['tahun_lulus', '7. Tahun Lulus / tahun_lulus'], 'status_saat_ini': ['F8', 'f8', '1. Jelaskan status Anda saat ini? f8'], 'bulan_dapat_kerja': ['F502', 'f502', '2. Berapa bulan anda mendapatkan pekerjaan SEBELUM LULUS? f502'], 'etika_lulus_full': ['F1761', 'f1761', '19. Pada tingkat mana kompetensi ETIKA anda pada SAAT LULUS? f1761'], 'metode_perkuliahan': ['F21', 'f21', '33. Perkuliahan (f21)'], 'cari_iklan': ['F401', 'f401', '43. Melalui iklan di koran/majalah, brosur ? f401'], 'aktif_cari_kerja_4_minggu': ['F1001', 'f1001', '61. Apakah Anda aktif mencari pekerjaan dalam 4 minggu terakhir? Pilihlah satu jawaban f1001'], } # Test find_column print("=== TEST FIND_COLUMN ===") source_cols = cols 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}") print(f" candidates: {candidates[:2]}...") # Suggest dari CSV for c in source_cols[:10]: if normalize(candidates[0]) in normalize(c): print(f" Suggestion: '{c}'") print() print("=== SEMUA KOLOM CSV ===") for i, c in enumerate(cols): print(f"{i}: {c}")