28 lines
1.2 KiB
Python
28 lines
1.2 KiB
Python
import pandas as pd
|
|
import glob
|
|
|
|
print("=== INSPEKSI FILE 2025 ===")
|
|
for f in sorted(glob.glob("Data_Tracerstudy/*2025*")):
|
|
ext = f.split('.')[-1]
|
|
if ext == 'csv':
|
|
try:
|
|
df = pd.read_csv(f, sep=';', encoding='utf-8-sig')
|
|
non_empty = df.dropna(how='all')
|
|
# find nim col
|
|
nim_col = [c for c in df.columns if 'nim' in c.lower()]
|
|
valid_nim = df[nim_col[0]].dropna() if nim_col else []
|
|
valid_nim_clean = [x for x in valid_nim if str(x).strip() not in ['', 'nan']]
|
|
print(f"CSV {f}: total_rows={len(df)}, non_empty_rows={len(non_empty)}, valid_nims={len(valid_nim_clean)}")
|
|
except Exception as e:
|
|
print(f"CSV {f} ERROR: {e}")
|
|
elif ext == 'xlsx':
|
|
try:
|
|
df = pd.read_excel(f)
|
|
non_empty = df.dropna(how='all')
|
|
nim_col = [c for c in df.columns if 'nim' in c.lower()]
|
|
valid_nim = df[nim_col[0]].dropna() if nim_col else []
|
|
valid_nim_clean = [x for x in valid_nim if str(x).strip() not in ['', 'nan']]
|
|
print(f"XLSX {f}: total_rows={len(df)}, non_empty_rows={len(non_empty)}, valid_nims={len(valid_nim_clean)}")
|
|
except Exception as e:
|
|
print(f"XLSX {f} ERROR: {e}")
|