TIF_E41253310/archive/debug_2024_detailed.py

54 lines
2.1 KiB
Python

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}")