当前位置:首页>python>Python与办公自动化--核对两张万行数据表的差异

Python与办公自动化--核对两张万行数据表的差异

  • 2026-03-20 18:11:33
Python与办公自动化--核对两张万行数据表的差异
Python 作为“自动化胶水语言”,非常适合用来处理重复性高、规则明确、数据量大的工作,在涉及大量excel、word等操作的办公流程中效果还挺不错的。
今天我们看一个核对两张万行数据表差异的问题。以财务中的常见场景为例,给定本月销售表.xlsx 和 财务入账表.xlsx。 任务很明确:找出金额不一致的订单,或者找出只在一边出现的“幽灵订单”。

如果是几百行数据,Excel 的 VLOOKUP 或 条件格式 还能应付。但当数据量达到 1 万行、5 万行甚至更多时:

  • Excel 公式计算缓慢,每改一个单元格都要转圈半天;
  • 内存占用飙升,随时可能“未响应”;
  • 人工比对容易漏看,非常容易出错。

而采用Python核对数据的本质,其实是集合运算,主要分为三个步骤:

  1. 对齐(Merge):以“订单号”为唯一键,将两张表像拼图一样拼在一起。
  2. 标记(Indicator):让程序自动标记每一行数据是“两边都有”、“只在左表”还是“只在右表”。
  3. 筛选(Filter):提取出状态异常(缺失或金额不符)的行,生成报告。

整个过程,Python 通常只需 2-3 秒

下面是完整代码

import pandas as pdimport osdef compare_excel_files(file1, file2, key_col, value_col, output_file='差异报告.xlsx'):    """    自动核对两个 Excel 文件的差异    :param file1: 第一个文件路径 (例如:销售表.xlsx)    :param file2: 第二个文件路径 (例如:财务表.xlsx)    :param key_col: 用于匹配的唯一键列名 (例如:订单号)    :param value_col: 需要核对数值的列名 (例如:金额)    :param output_file: 结果输出文件名    """    print(f"🚀 正在读取 {file1} ...")    df1 = pd.read_excel(file1)    print(f"🚀 正在读取 {file2} ...")    df2 = pd.read_excel(file2)    # 1. 数据清洗:去除首尾空格,防止因空格导致匹配失败    df1[key_col] = df1[key_col].astype(str).str.strip()    df2[key_col] = df2[key_col].astype(str).str.strip()    # 2. 合并数据:使用外连接 (outer join),确保两边的数据都在    # indicator=True 会生成一列 '_merge',标记数据来源    merged_df = pd.merge(        df1[[key_col, value_col]],         df2[[key_col, value_col]],         on=key_col,         how='outer'        indicator=True,        suffixes=('_表 1''_表 2')    )    # 3. 定义差异逻辑    results = []    for index, row in merged_df.iterrows():        status = "正常"        diff_value = 0        # 情况 A: 只在表 1 存在 (表 2 缺失)        if row['_merge'] == 'left_only':            status = "❌ 仅在表 1 存在"            diff_value = row[f'{value_col}_表 1']        # 情况 B: 只在表 2 存在 (表 1 缺失)        elif row['_merge'] == 'right_only':            status = "❌ 仅在表 2 存在"            diff_value = -row[f'{value_col}_表 2'# 负数表示表 2 多出来了        # 情况 C: 两边都有,但数值不一致        else:            val1 = row[f'{value_col}_表 1']            val2 = row[f'{value_col}_表 2']            # 处理可能的非数字情况,并保留 2 位小数比较            try:                if abs(float(val1) - float(val2)) > 0.01# 允许 1 分钱误差                    status = "⚠️ 金额不一致"                    diff_value = float(val1) - float(val2)                else:                    status = "✅ 一致"            except ValueError:                status = "⚠️ 数据格式错误"        if status != "✅ 一致":            results.append({                key_col: row[key_col],                '状态': status,                f'{value_col}_表 1': row.get(f'{value_col}_表 1''无'),                f'{value_col}_表 2': row.get(f'{value_col}_表 2''无'),                '差异值': diff_value            })    # 4. 输出结果    if not results:        print("🎉 恭喜!两张表数据完全一致,没有发现差异。")        return    result_df = pd.DataFrame(results)    # 按照差异类型排序,让严重问题排在前面    result_df = result_df.sort_values(by='状态')    result_df.to_excel(output_file, index=False)    print(f"✅ 核对完成!共发现 {len(result_df)} 处差异。")    print(f"📄 详细报告已保存至:{os.path.abspath(output_file)}")# ================= 配置区域 (请在此处修改) =================if __name__ == "__main__":    # 请将以下文件名替换为你实际的文件名    # 确保这两个文件在当前脚本同一目录下,或者填写绝对路径    file_sales = '本月销售表.xlsx'       file_finance = '财务入账表.xlsx'    # 指定哪一列是订单号,哪一列是要对比的金额    KEY_COLUMN = '订单号'          VALUE_COLUMN = '实付金额'      # 检查文件是否存在,避免报错    if os.path.exists(file_sales) and os.path.exists(file_finance):        compare_excel_files(file_sales, file_finance, KEY_COLUMN, VALUE_COLUMN)    else:        print("❌ 错误:找不到指定的 Excel 文件,请检查文件名或路径。")

这段代码之所以比 Excel 公式更稳健,主要得益于以下几点设计:

  1. 容错性强
    • 空格陷阱:很多时候“订单 123"和“订单 123 "(带空格)在 Excel 里看起来一样,但 VLOOKUP 会匹配失败。代码中的 .str.strip() 自动消除了这个隐患。
    • 格式混乱:有些单元格里可能是文本型的数字,代码通过 pd.to_numeric(..., errors='coerce') 强制转换,避免类型不匹配导致的报错。
  2. 逻辑清晰的外连接(Outer Join): 传统的 VLOOKUP 只能查“左边有、右边有没有”,很难反向查“右边有、左边没有”。pd.merge(how='outer') 一次性把三种情况(左独有、右独有、共有)全部拉平,逻辑无死角。
  3. 直观的报告输出: 生成的 Excel 不再是原始数据堆砌,而是直接过滤掉了“一致”的行,只保留问题行,并按错误类型排序。可以直接把这个表发给业务人员去核实,节省沟通成本。
  4. 向量化相比传统的 for 循环去一行行遍历(那是 Python 的弱点),这里利用了 pandas 的 merge 函数,类似于数据库的 SQL 连接操作,底层由 C 语言优化,处理百万行数据也是秒级响应。


实际使用时只要按照下面步骤操作就可以了(看上去步骤很多,但实际操作起来通常不会超过5分钟)

第一步:文件与代码准备

  1. 创建专属文件夹
    • 在桌面新建一个文件夹,命名为 自动对账工具
  2. 准备 Excel 数据
    • 将你需要比对的两个 Excel 文件放入该文件夹。
    • 注意:确保两个表中都有唯一的标识列(如:订单号、身份证号、流水号)和需要比对的数值列(如:金额、数量)。
  3. 保存代码
    • 此时你的文件夹结构应该是这样的:
    • 📂 自动对账工具/ 
    • ├── 📄 check_diff.py (你的代码) 
    • ├── 📊 本月销售表.xlsx (你的数据 1) 
    • └── 📊 财务入账表.xlsx (你的数据 2)
    • 新建一个文本文档,将你提供的代码完整复制进去。
    • 将文件另存为 check_diff.py(注意后缀名必须是 .py,不能是 .txt)。
    • 将这个 .py 文件也放入 自动对账工具 文件夹中。

第二步:定制化配置(最关键一步)

找到这两行(94/95行),把引号里的名字改成你实际的 Excel 文件名(必须包含后缀 .xlsx):
# 修改前file_sales = '本月销售表.xlsx'   file_finance = '财务入账表.xlsx'# 修改后 (假设你的文件叫 data_a.xlsx 和 data_b.xlsx)file_sales = 'data_a.xlsx'   file_finance = 'data_b.xlsx'

打开你的 Excel 表,看一眼表头第一行的文字是什么,必须完全一致(包括空格)。找到这两行(98/99行)进行修改:

# 修改前KEY_COLUMN = '订单号'      VALUE_COLUMN = '实付金额'  # 修改后 (假设你的表头分别是 "Order_ID" 和 "Total_Price")KEY_COLUMN = 'Order_ID'      VALUE_COLUMN = 'Total_Price'  

⚠️ 注意:如果 Excel 表头是 订单号(带空格),而代码写的是 订单号,程序会报错或匹配失败。建议先在 Excel 里把表头空格删干净。

    最后打开命令行运行下面指令即可,最终会在文件夹中生成 差异报告.xlsx 。
    python check_diff.py

    过往文章/合集

    合集

    文章

    Python编程小技巧

    Python编程小技巧--用Python查询天气

    Python编程小技巧--‌自制简易系统监控

    Python--数据/图像可视化

    Python编程小技巧--雷达图

    报表"不直观"?20行Python代码做出高颜值KPI仪表盘,惊艳全场!

    Python数据可视化--绘制树状图(电商品类销售分析)

    Python编程基础算法

    Python编程基础算法--斐波那契数列的矩阵算法

    Python编程基础算法--LeetCode编辑距离问题

    细数那些经典教材

    细数那些经典教材--算法与数据结构

    细数那些经典教材--编程竞赛

    细数那些经典教材--机器学习入门就劝退?这几本“神书”帮你少走弯路!

    Python库巡礼

    Python库巡礼--PySpark

    Python 库巡礼--matplotlib:数据可视化的基石

    Python与数学之美

    Python与数学之美--黄金螺线

    Python与数学之美--可视化理解导数本质

    Python与数学之美--星形线(来自300年前的"完美曲线")

    Python与办公自动化
    Python与办公自动化--批量生成报告/通知
    月底加班到10点?Python 30秒搞定100个Excel的合并/拆分(附完整代码)
    Python与办公自动化--PDF的合并与拆分
    计算机科学人物志
    计算机科学人物志--图灵(理论起源)

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-03-27 11:20:45 HTTP/2.0 GET : https://f.mffb.com.cn/a/480583.html
    2. 运行时间 : 0.268505s [ 吞吐率:3.72req/s ] 内存消耗:4,841.48kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=dcd69b36c18a772930aae2f30ce63937
    1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
    140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.000881s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001555s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000669s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004292s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001551s ]
    6. SELECT * FROM `set` [ RunTime:0.006130s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001763s ]
    8. SELECT * FROM `article` WHERE `id` = 480583 LIMIT 1 [ RunTime:0.010294s ]
    9. UPDATE `article` SET `lasttime` = 1774581645 WHERE `id` = 480583 [ RunTime:0.022899s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000717s ]
    11. SELECT * FROM `article` WHERE `id` < 480583 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001133s ]
    12. SELECT * FROM `article` WHERE `id` > 480583 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001368s ]
    13. SELECT * FROM `article` WHERE `id` < 480583 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.010455s ]
    14. SELECT * FROM `article` WHERE `id` < 480583 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007823s ]
    15. SELECT * FROM `article` WHERE `id` < 480583 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008872s ]
    0.272009s