65 lines
2.1 KiB
Python
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}")
|