← 返回题库
初级

统计各客户采购占比(汇总报表统计)

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import sqlite3
    import pandas as pd
    
    conn = sqlite3.connect(':memory:')
    
    base_url = 'https://liangdaima.com/static/data/crm/state_08/'
    
    tables = ['suppliers', 'customers', 'products', 
              'stock_in', 'stock_in_items', 
              'stock_out', 'stock_out_items']
    
    for table in tables:
        try:
            url = base_url + table + '.csv'
            df = pd.read_csv(url)
            df.to_sql(table, conn, index=False)
        except Exception as e:
            pass
    
    result = conn.execute('SELECT o.收货单位, SUM(d.数量) AS 出库量, ROUND(100.0 * SUM(d.数量) / (SELECT SUM(数量) FROM stock_out_items), 2) AS 占比 FROM stock_out o JOIN stock_out_items d ON o.出库单号 = d.出库单号 GROUP BY o.收货单位').fetchall()
    conn.close()
    return result

示例

输入
print(solve())
期望输出
[('上海通信市场', 8, 11.76), ('北京数码城', 16, 23.53), ('广州手机批发中心', 12, 17.65), ('成都电子城', 8, 11.76), ('杭州数码港', 8, 11.76), ('武汉通信广场', 6, 8.82), ('深圳华强北店', 10, 14.71)]
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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