import os
import shutil
from pathlib import Path

# 定义路径
data_dir = Path(r'C:\Users\jerry\PyCharmProjects\footviz\footviz\data')
scores_dir = data_dir / 'scores'
countries_dir = data_dir / 'countries'

# 国家映射
country_mapping = {
    'france.csv': 'France',
    'germany.csv': 'Germany',
    'spain.csv': 'Spain',
    'uk.csv': 'England'
}

print("开始整合 scores 数据到 countries 目录...")

# 遍历 scores 目录中的文件
for score_file in scores_dir.iterdir():
    if score_file.suffix == '.csv' and score_file.name in country_mapping:
        # 获取对应的国家目录
        country_name = country_mapping[score_file.name]
        country_dir = countries_dir / country_name
        
        # 检查国家目录是否存在
        if country_dir.exists():
            # 移动文件到国家目录并重命名为 scores.csv
            destination = country_dir / 'scores.csv'
            shutil.move(str(score_file), str(destination))
            print(f"已移动 {score_file.name} 到 {country_name}/scores.csv")
        else:
            print(f"警告: 国家目录 {country_name} 不存在")

# 处理 china.csv (特殊处理，因为 countries 目录中没有 China)
china_file = scores_dir / 'china.csv'
if china_file.exists():
    # 为 China 创建目录
    china_dir = countries_dir / 'China'
    china_dir.mkdir(exist_ok=True)
    destination = china_dir / 'scores.csv'
    shutil.move(str(china_file), str(destination))
    print(f"已移动 china.csv 到 China/scores.csv")

print("Scores 数据整合完成!")

# 删除 scores 目录中的 __pycache__ 目录
pycache_dir = scores_dir / '__pycache__'
if pycache_dir.exists():
    shutil.rmtree(pycache_dir)
    print("已删除 scores/__pycache__ 目录")

# 删除 scores 目录中的 __init__.py 文件
init_file = scores_dir / '__init__.py'
if init_file.exists():
    init_file.unlink()
    print("已删除 scores/__init__.py 文件")

# 尝试删除空的 scores 目录
try:
    scores_dir.rmdir()
    print("已删除空的 scores 目录")
except OSError:
    print("scores 目录不为空，未删除")

print("\n新的目录结构示例:")
for country_name in ['England', 'France', 'Germany', 'Spain', 'China']:
    country_dir = countries_dir / country_name
    if country_dir.exists():
        print(f"  {country_name}/")
        for file in country_dir.iterdir():
            if file.is_file() and file.suffix == '.csv':
                print(f"    {file.name}")
            elif file.is_dir():
                print(f"    {file.name}/")
                for subfile in file.iterdir():
                    if subfile.suffix == '.csv':
                        print(f"      {subfile.name}")
                        break
        print()