← 返回题库
初级

生成完整入库报表(完整业务周期)

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve():
    import sqlite3
    import pandas as pd
    
    conn = sqlite3.connect(':memory:')
    
    base_url = 'https://liangdaima.com/static/data/crm/state_09/'
    
    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 i.入库单号, i.制单日期, i.供应商, d.物料编码, d.物料名称, d.数量 FROM stock_in i JOIN stock_in_items d ON i.入库单号 = d.入库单号 ORDER BY i.制单日期').fetchall()
    conn.close()
    return result

示例

输入
print(solve())
期望输出
[('RK20260601001', '2026-06-01', '华为', 'HW001', 'Mate 50', 10), ('RK20260601001', '2026-06-01', '华为', 'HW002', 'Mate 50', 8), ('RK20260601001', '2026-06-01', '华为', 'HW003', 'P50', 5), ('RK20260602001', '2026-06-02', '小米', 'XM001', '小米12X', 12), ('RK20260602001', '2026-06-02', '小米', 'XM002', '小米12X', 10), ('RK20260603001', '2026-06-03', '华为', 'HW004', 'P50 Pro', 6), ('RK20260603001', '2026-06-03', '华为', 'XM003', '小米13', 8), ('RK20260603001', '2026-06-03', '华为', 'XM004', '小米13 Pro', 4), ('RK20260610001', '2026-06-10', 'OPPO', 'OP001', 'OPPO Find X5', 8), ('RK20260610001', '2026-06-10', 'OPPO', 'OP002', 'OPPO Reno8', 10), ('RK20260612001', '2026-06-12', 'vivo', 'VV001', 'vivo X80', 12), ('RK20260618001', '2026-06-18', '华为', 'HW001', 'Mate 50', 15), ('RK20260618001', '2026-06-18', '华为', 'HW002', 'Mate 50', 12), ('RK20260618001', '2026-06-18', '华为', 'HW003', 'P50', 8), ('RK20260620001', '2026-06-20', '小米', 'XM001', '小米12X', 20), ('RK20260620001', '2026-06-20', '小米', 'XM002', '小米12X', 18), ('RK20260620001', '2026-06-20', '小米', 'XM003', '小米13', 15), ('RK20260622001', '2026-06-22', 'OPPO', 'OP001', 'OPPO Find X5', 10), ('RK20260622001', '2026-06-22', 'OPPO', 'OP002', 'OPPO Reno8', 12), ('RK20260625001', '2026-06-25', 'vivo', 'VV001', 'vivo X80', 15), ('RK20260628001', '2026-06-28', '苹果授权经销商', 'AP001', 'iPhone 14', 20), ('RK20260701001', '2026-07-01', '华为', 'HW001', 'Mate 50', 10), ('RK20260701001', '2026-07-01', '华为', 'HW002', 'Mate 50', 8), ('RK20260705001', '2026-07-05', '小米', 'XM001', '小米12X', -2)]
Python 代码 🔒 登录后使用
🔒

登录后即可练习

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