← 返回题库
初级

建立医院数据库并查询科室医生

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    from pyodide.http import open_url
    patients_csv = open_url("https://data.zuihe.com/dbd/hospital/state_C00/patients.csv").read()
    departments_csv = open_url("https://data.zuihe.com/dbd/hospital/state_C00/departments.csv").read()
    doctors_csv = open_url("https://data.zuihe.com/dbd/hospital/state_C00/doctors.csv").read()
    import sqlite3
    import pandas as pd
    from io import StringIO

    conn = sqlite3.connect(':memory:')
    pd.read_csv(StringIO(doctors_csv)).to_sql('doctors', conn, index=False, if_exists='replace')
    pd.read_csv(StringIO(departments_csv)).to_sql('departments', conn, index=False, if_exists='replace')

    result = pd.read_sql_query("""
        SELECT d.name, dept.name AS department_name, d.title
        FROM doctors d
        JOIN departments dept ON d.department_id = dept.id
        ORDER BY d.department_id ASC, d.title DESC
    """, conn)
    print(result.to_string(index=False))
    conn.close()

示例

输入
solve()
期望输出
name department_name title
 张医生              内科  主治医师
 郑医生              内科  主治医师
 刘主任              内科  主任医师
 吴医生              外科  住院医师
 王主任              外科  主任医师
 赵医生              儿科  住院医师
 李医生              儿科  主治医师
 孙主任             妇产科  主任医师
陈副主任              骨科 副主任医师
 周医生             皮肤科  主治医师
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码