47 lines
2.0 KiB
Python
47 lines
2.0 KiB
Python
import sys
|
|
sys.path.append('Backend')
|
|
import pandas as pd
|
|
from app.parsers.mappings import (
|
|
IDENTITAS_MAPPING, PEKERJAAN_MAPPING, STUDI_LANJUT_MAPPING,
|
|
KESESUAIAN_MAPPING, KOMPETENSI_LULUS_MAPPING, KOMPETENSI_SAAT_INI_MAPPING,
|
|
METODE_PEMBELAJARAN_MAPPING, WAKTU_CARI_KERJA_MAPPING, CARA_CARI_KERJA_MAPPING,
|
|
LAMARAN_KEAKTIFAN_MAPPING, KESESUAIAN_PEKERJAAN_MAPPING, NUMERIC_FIELDS
|
|
)
|
|
from app.parsers.column_finder import find_column
|
|
from app.parsers.converters import parse_2024_value, parse_date, konversi_jawaban
|
|
|
|
df = pd.read_csv('Data_Tracerstudy/Data_2024_Tracer_study.csv', sep=';', encoding='utf-8-sig')
|
|
print(f'Total CSV rows: {len(df)}, columns: {len(df.columns)}')
|
|
|
|
all_mappings = {
|
|
'IDENTITAS': IDENTITAS_MAPPING,
|
|
'PEKERJAAN': PEKERJAAN_MAPPING,
|
|
'STUDI_LANJUT': STUDI_LANJUT_MAPPING,
|
|
'KESESUAIAN': KESESUAIAN_MAPPING,
|
|
'KOMPETENSI_LULUS': KOMPETENSI_LULUS_MAPPING,
|
|
'KOMPETENSI_SAAT_INI': KOMPETENSI_SAAT_INI_MAPPING,
|
|
'METODE_PEMBELAJARAN': METODE_PEMBELAJARAN_MAPPING,
|
|
'WAKTU_CARI_KERJA': WAKTU_CARI_KERJA_MAPPING,
|
|
'CARA_CARI_KERJA': CARA_CARI_KERJA_MAPPING,
|
|
'LAMARAN_KEAKTIFAN': LAMARAN_KEAKTIFAN_MAPPING,
|
|
'KESESUAIAN_PEKERJAAN': KESESUAIAN_PEKERJAAN_MAPPING,
|
|
}
|
|
|
|
mapped_cols = set()
|
|
for grp_name, grp in all_mappings.items():
|
|
print(f'\n=== {grp_name} ===')
|
|
for field, col_patterns in grp.items():
|
|
found = find_column(list(df.columns), col_patterns)
|
|
if found:
|
|
mapped_cols.add(found)
|
|
sample_val = df[found].dropna().iloc[0] if df[found].notna().any() else 'ALL_NAN'
|
|
parsed = parse_2024_value(sample_val) if sample_val != 'ALL_NAN' else None
|
|
print(f' {field} -> [OK] "{found}" (sample: {repr(sample_val)} -> {parsed})')
|
|
else:
|
|
print(f' {field} -> [MISSING] patterns: {col_patterns}')
|
|
|
|
unmapped = [c for c in df.columns if c not in mapped_cols]
|
|
print(f'\n=== UNMAPPED COLUMNS ({len(unmapped)}) ===')
|
|
for c in unmapped:
|
|
print(' -', c)
|