TIF_E41253310/archive/debug_2024_cols.py

65 lines
2.1 KiB
Python

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