35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import sys
|
|
import glob
|
|
sys.path.append('Backend')
|
|
from app.config.database import SessionLocal, engine
|
|
from app.services.import_service import import_data
|
|
from sqlalchemy import text
|
|
|
|
files_2025 = sorted(glob.glob('Data_Tracerstudy/*2025*.csv'))
|
|
print("Found 2025 CSV files:")
|
|
for f in files_2025:
|
|
print(" -", f)
|
|
|
|
db = SessionLocal()
|
|
try:
|
|
for fpath in files_2025:
|
|
fname = fpath.split('\\')[-1].split('/')[-1]
|
|
print("\n" + "="*70)
|
|
print(f"Testing import for {fname}...")
|
|
print("="*70)
|
|
with open(fpath, 'rb') as f:
|
|
content = f.read()
|
|
res = import_data('2025', content, fname, db)
|
|
print(f"Result status: {res.get('status')}")
|
|
print(f"Total rows: {res.get('stats', {}).get('total_rows')}")
|
|
print(f"Imported: {res.get('stats', {}).get('imported')}")
|
|
print(f"Skipped: {res.get('stats', {}).get('skipped')}")
|
|
errors = res.get('stats', {}).get('errors', [])
|
|
print(f"Errors count: {len(errors)}")
|
|
if errors:
|
|
print("First 10 errors:")
|
|
for err in errors[:10]:
|
|
print(" ", err)
|
|
finally:
|
|
db.close()
|