当前位置:首页>Excel>Python 玩转 Excel 案例【第 5 期】

Python 玩转 Excel 案例【第 5 期】

  • 2026-04-03 22:38:38
Python 玩转 Excel 案例【第 5 期】

Python 玩转 Excel 案例【第 5 期】

大家好!今天我们来学习一个HR小伙伴经常遇到的场景:如何快速找出四个季度都上榜的优秀员工?

手动对比四个季度的名单,眼睛都快看花了,还容易漏掉。今天这个Python脚本,1秒钟帮你搞定!

一、案例背景

年底了,公司要评选全年优秀员工——条件很简单:四个季度都上榜的人。

打开Excel一看,四个季度的名单分别在B、C、D、E列:

  • • 第1季度:B列
  • • 第2季度:C列
  • • 第3季度:D列
  • • 第4季度:E列

你的任务:找出同时出现在这四列的人。

手动做法:复制→粘贴→去重→比对……四个季度比完,半小时过去了。

今天这个脚本:双击运行,3秒出结果!

二、整体功能预览

这个脚本主要完成以下任务:

  • • ✅ 读取Excel文件的指定工作表
  • • ✅ 提取四个季度的员工名单(B-E列)
  • • ✅ 计算四个季度的交集(共同出现的人)
  • • ✅ 将结果保存到新的工作表

三、准备工作

安装必要的库:

pip install pandas openpyxl
  • • pandas:核心数据处理库
  • • openpyxl:Excel文件读写引擎

四、代码整体结构

import logging
from
 pathlib import Path
from
 typing import List, Optional, Union

import
 pandas as pd

# 配置日志

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

# 核心函数

def
 process_employee_data(...): ...

def
 main():
    """主函数"""

    success = process_employee_data("Chapter-5.xlsx")
    print
("处理成功" if success else "处理失败")

if
 __name__ == "__main__":
    main()

五、核心函数详解

1. 函数定义与参数

def process_employee_data(
    file_path: Union[str, Path],
    source_sheet: str = "优秀员工名单表",
    target_sheet: str = "全年优秀表",
    quarter_cols: Optional[List[int]] = None
) -> bool:

参数说明

  • • file_path:Excel文件路径
  • • source_sheet:要读取的工作表名称(默认"优秀员工名单表")
  • • target_sheet:要写入的工作表名称(默认"全年优秀表")
  • • quarter_cols:四个季度的列索引(默认值是None)

返回值:布尔值,表示处理是否成功


2. 参数初始化

# 默认列索引(B-E列)
if
 quarter_cols is None:
    quarter_cols = [1, 2, 3, 4]

file_path = Path(file_path)

知识点

  • • Path(file_path):将字符串路径转为Path对象,方便路径操作
  • • quarter_cols 用 Optional 表示可以传None,内部再赋默认值(避免可变默认参数的问题)

3. 读取数据

# 1. 读取数据
logger.info(f"读取文件: {file_path}")
df = pd.read_excel(file_path, sheet_name=source_sheet)

if
 df.empty:
    logger.error("数据为空")
    return
 False

关键点

  • • sheet_name=source_sheet:只读取指定的工作表
  • • 读取后先检查是否为空数据

4. 提取各季度名单(核心处理)

# 2. 提取各季度名单(得到的是一个set集合的列表)
quarterly_sets = [
    set
(df.iloc[:, col].dropna().astype(str).str.strip())
    for
 col in quarter_cols
    if
 col < len(df.columns)
]

# 过滤空集合

quarterly_sets = [s for s in quarterly_sets if s]

逐层拆解:

df.iloc[:, col]:选取第col列的所有行

  • • iloc:基于整数位置的索引
  • • ::所有行
  • • col:指定的列

.dropna():删除空值(去除表格中的空白单元格)

.astype(str):转换为字符串类型(防止数字、日期等类型导致后续处理出错)

.str.strip():去除字符串两端的空格(清理数据中可能存在的多余空格)

set(...):转换为集合(自动去重,且支持高效的交集运算)


📝 .str 笔记

✅ 用 .str 的情况

想对这一列的每个元素做字符串操作时:

df['姓名'].str.strip()    # 每个名字去空格
df['姓名'].str.upper()    # 每个名字转大写
df['姓名'].str.contains('张')  # 每个名字是否含'张'
❌ 不用 .str 的情况
df['姓名'].dropna()    # 删除空行(操作整列,不是操作每个格子)
df['姓名'].unique()    # 去重(操作整列)
df.shape               # 操作整个表格
' 张三 '
.strip()       # 操作单个字符串
⚡️ 一句话记法

.str 就是说:"这一列的每一个元素,都给我..."


📝 列表推导式顺序

[表达式 for 变量 in 可迭代对象 if 条件]
#  ③表达式  ①循环    ②过滤

执行顺序:①循环 → ②判断 → ③表达式

咱们的代码:

quarterly_sets = [
    set
(df.iloc[:, col]...)  # ③符合条件的才执行这个
    for
 col in quarter_cols   # ①遍历每个季度
    if
 col < len(df.columns)  # ②只处理存在的列
]

等价于:

for col in quarter_cols:           # ①先循环
    if
 col < len(df.columns):      # ②再判断
        quarterly_sets.append(...) # ③最后执行

为什么if在后面? Python语法规定:列表推导式里,if必须跟在for后面


📝 过滤空集合

quarterly_sets = [s for s in quarterly_sets if s]

if s 的含义

  • • if s = 如果s不是空 → 保留
  • • 空集合 set() 在Python中是 False

5. 计算交集(从最小的集合开始)

# 3. 计算交集(从最小的集合开始)
quarterly_sets.sort(key=len)
common = quarterly_sets[0].copy()
for
 s in quarterly_sets[1:]:
    common &= s
    if
 not common:
        logger.info("无共同员工")
        break

为什么要从最小的开始?

  • • sort(key=len):按集合大小排序,最小的在前
  • • 从小集合开始交集,计算量更小,效率更高

为什么要用 .copy()

common = quarterly_sets[0].copy()

如果不copy,common和quarterly_sets[0]指向同一内存地址,操作common会直接修改原始数据

用copy则新开一块内存,复制一份数据,保护原始集合不被修改

交集运算

  • • common &= s:等价于 common = common & s
  • • 一旦交集为空,立即 break 跳出循环,提高效率

6. 保存结果

# 4. 保存结果
result_df = pd.DataFrame({
    '序号'
: range(1, len(common) + 1),
    '姓名'
: sorted(common)
}) if common else pd.DataFrame(columns=['序号', '姓名'])

with
 pd.ExcelWriter(file_path, engine='openpyxl', mode='a'
                   if_sheet_exists='replace') as writer:
    result_df.to_excel(writer, sheet_name=target_sheet, index=False)

知识点

  • • 三元表达式A if condition else B,根据条件选择创建有数据的DataFrame或空DataFrame
  • • 字典创建DataFrame:键为列名,值为数据
  • • sorted(common):对姓名排序,使结果更整齐
  • • pd.ExcelWriter:高级Excel写入器
    • • mode='a':追加模式,不覆盖原文件的其他工作表
    • • if_sheet_exists='replace':如果目标工作表已存在,则替换

为什么用ExcelWriter而不是直接to_excel?
因为要在同一个文件中追加新工作表,而不是覆盖整个文件。


7. 异常处理

try:
    # 主要逻辑...

    return
 True
except
 Exception as e:
    logger.error(f"处理失败: {e}")
    return
 False

try-except捕获可能的异常(如文件不存在、格式错误等),返回False表示失败。


六、运行效果展示

输入文件内容

优秀员工名单表:

序号
第1季度
第2季度
第3季度
第4季度
1
王鹏宇
王婷鹏
陈伟
王婷
2
黄飞宁
李洋
杨鹏宁
周婷宇
3
陈洋敏
吴佳芳
王艳
王鹏宇
4
王佳
杨敏
周婷宇
黄斌芳
5
杨鹏宁
黄强
黄飞艳
李洋
...
...
...
...
...
23
张婷宁
赵洋
24
李涛璐

运行程序

python 数据处理.py

控制台输出

2026-03-10 20:30:15 - INFO - 读取文件: Chapter-5.xlsx
2026-03-10 20:30:15 - INFO - 找到 6 名全年优秀员工
处理成功

输出结果

全年优秀表:

序号
姓名
1
吴静
2
周婷宇
3
王婷
4
王鹏宇
5
赵静艳
6
陈伟

这6个人,就是四个季度全部上榜的优秀员工!


七、核心知识点总结

模块/语法
知识点
应用场景
pandasread_excel()
读取Excel文件
pandasiloc[:, col]
按位置选取列
pandasdropna()
删除空值
pandasastype(str)
类型转换
pandasstr.strip()
去除空格
pandasExcelWriter
追加写入Excel
Pythonset
自动去重+交集运算
Python
列表推导式
批量处理四个季度
Python&=
 运算符
集合交集运算
Pythonsorted()
排序结果
Python.copy()
保护原始数据

八、应用场景拓展

这个"交集计算"的思路可以广泛应用:

  • • 📊 员工管理:找出连续全勤的员工
  • • 📈 销售分析:找出每季度都达标的销售
  • • 🏆 评优评先:多维度筛选优秀人选
  • • 📋 考勤统计:找出全年无缺勤人员
  • • 🔍 数据比对:找出多个列表的共同元素

📦 资源获取提示

关注「码农自习室」,后台回复关键词 PythonExcel案例,即可获取本文完整代码及配套练习数据集,一起动手掌握高效数据操作的核心技巧!


❤️ 支持我们

如果本文对你有帮助,欢迎点赞 + 关注 + 点亮小红心,你的支持就是我们持续创作的最大动力~

最新文章

随机文章

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