import csv
import json
from collections import Counter

tag_counter = Counter()

with open("dataset.csv", encoding="utf-8") as f:
    reader = csv.reader(f)
    next(reader)  # skip header
    for i, row in enumerate(reader):
        if len(row) < 2 or not row[1].strip():
            continue
        try:
            data = json.loads(row[1])
            for label in data.get("labels", []):
                tag_counter[label] += 1
        except json.JSONDecodeError as e:
            print(f"Ligne {i+2} JSON invalide: {e}")

print(f"\n{'TAG':<35} {'COUNT':>8}")
print("-" * 45)
for tag, count in tag_counter.most_common():
    print(f"{tag:<35} {count:>8}")

print(f"\nTotal tags distincts : {len(tag_counter)}")
print(f"Total occurrences    : {sum(tag_counter.values())}")
