from pathlib import Path
import pandas as pd
import numpy as np
from _shared import load
ROOT = Path(__file__).resolve().parents[1]
OUT = ROOT / "outputs"
OUT.mkdir(exist_ok=True)
users = load("users")
orders = load("orders")
assert {"user_id","signup_date","country","channel"} <= set(users.columns)
assert users["user_id"].is_unique
copy_path = OUT / "orders_roundtrip.csv"
orders.to_csv(copy_path,index=False,encoding="utf-8")
restored = pd.read_csv(copy_path,dtype={"user_id":"Int64"},parse_dates=["order_date"])
assert len(restored) == len(orders)
assert restored["order_id"].tolist() == orders["order_id"].tolist()
print("pandas",pd.__version__)
print("orders shape:",orders.shape)
print(restored.head(4).to_string(index=False))
print(restored.dtypes.to_string())
