HarshavardhanaNaganagoudar
commit
433bd16
Raw
History Blame Contribute Delete
1.22 kB
import json
from pathlib import Path
DATA_DIR = Path(__file__).parent.parent / "data"
with open(DATA_DIR / "elements.json", "r", encoding="utf-8") as f:
raw_data = json.load(f)["elements"]
def normalize(element):
return {
"number": element["number"],
"symbol": element["symbol"],
"name": element["name"],
"category": element["category"],
"period": element["period"],
"group": element["group"],
"phase": element["phase"],
"atomic_mass": element["atomic_mass"],
"appearance": element.get("appearance"),
"density": element.get("density"),
"melt": element.get("melt"),
"boil": element.get("boil"),
"electron_configuration": element.get("electron_configuration"),
"shells": element.get("shells"),
"electronegativity": element.get("electronegativity_pauling"),
"discovered_by": element.get("discovered_by"),
"summary": element.get("summary"),
"image": element.get("image", {}).get("url"),
"xpos": element["xpos"],
"ypos": element["ypos"],
}
elements = [normalize(e) for e in raw_data]
element_lookup = {
e["symbol"]: e
for e in elements
}