当前位置:首页>Excel>我把Excel表格转成Python处理后,老板当场给我涨薪

我把Excel表格转成Python处理后,老板当场给我涨薪

  • 2026-05-12 15:47:20
我把Excel表格转成Python处理后,老板当场给我涨薪

真实加薪经历分享


你有过这种经历吗

每天加班到晚上9点,做不完的Excel表格,复制粘贴复制粘贴,手指都 CTRL+C CTRL+V 到抽筋了,结果老板轻飘飘来一句:“这个数据再重新整理一下,明天早上给我

你是不是想摔键盘

我告诉你,我之前就是这样的
天天对着Excel表格,从早上9点干到晚上11点,周末也加班,整个人都是复制粘贴的机器
结果呢
工资条上的数字,三年没变过

但你猜后来怎么着

我用了Python,用代码处理了一次Excel表格,就一次
然后老板当场给我涨薪30%

这不是故事,是真事
今天我把这段经历和核心技术都写出来,看完你也能上手


你是不是也这样?

让我猜猜你现在的工作状态:

**你是不是每天在Excel里手动筛选数据
** 领导让你从100个文件里找出每个月的销售数据,你一个个打开,手动复制粘贴,复制粘贴,复制粘贴...弄完眼睛都花了

**你是不是经常对数值对到崩溃
** 十几个Excel文件,数字对不上,你不知道哪里出问题了,一个单元格一个单元格地查,查了3个小时,发现就是一个空格多了或者其他符号的问题

**你是不是一到月底就紧张
** 每月固定的报表时间,你得手动整理几十个同事发来的数据表,稍微一个不小心,错了,就是事故

如果这三条你中了任何一条,继续往下看

因为问题真的不在你不够努力,而是你一直在用最笨的方法


认知反转:不是Excel不行,是你一个人干了一个程序的活

很多人会说:“我用Excel也能处理啊,vlookup函数也很强大

是,Excel确实很强
但我问你几个问题:

让你从100个文件里筛选符合条件的数据,Excel能一键完成吗

让你每周固定时间自动生成报表,Excel能做到吗

让你同时处理10万行数据不出错,Excel能保证吗

**不能
**

Excel是个工具,但如果你每天都在重复做同样的事情,那就是在用体力换钱,用时间换钱,用命换钱

而Python不一样
Python是自动化,是批处理,是一次编写,永远运行

我再问你一个问题:同样是处理数据,你手动处理10个人的数据和100个人的数据,花的时间能一样吗
但用Python,10个人和100万个人,代码是一样的

这就是认知差距

不是我比你努力,而是我知道怎么让机器帮我干活

你干到这个月,月底还要加班整理报表
用Python的人,早就设置好定时任务,到点自动跑,月底该干嘛干嘛

老板不给这种人涨薪,给谁涨


核心技术:3个真实场景,手把手教你用Python处理Excel

接下来上强度
我给你3个完整可运行的代码示例,每个都是真实工作场景,你直接复制就能用

场景一:从多个Excel文件批量读取数据,合并成一个表

场景说明:你每个月要从20个销售同事发来的Excel表格里,汇总每个人的销售额
之前你是一个个打开,手动复制粘贴
现在,用Python,10秒钟搞定

import pandas as pd
import os
from pathlib import Path

# 定义数据文件夹路径
data_folder = Path("销售数据文件")

# 获取文件夹下所有Excel文件
excel_files = list(data_folder.glob("*.xlsx"))

# 准备一个列表,存放所有数据
all_data = []

# 遍历每个文件,读取数据
for file in excel_files:
# 读取Excel文件,假设数据在第一个sheet
    df = pd.read_excel(file, sheet_name=0)

# 从文件名提取销售员姓名(假设文件名格式:张三_2024年1月.xlsx)
# 这里的处理可能因实际场景不同而需要调整
# 但核心思路是:从文件名或表格内容中获取关键信息
    salesman_name = file.stem.split("_")[0]  # 提取文件名中下划线前的部分

# 添加一列,标记数据来源
    df["销售员"] = salesman_name

# 把处理后的数据加入列表
    all_data.append(df)

# 合并所有数据
result = pd.concat(all_data, ignore_index=True)

# 保存结果到新的Excel文件
result.to_excel("汇总表.xlsx", index=False)

print(f"处理完成!共处理 {len(excel_files)} 个文件,合计 {len(result)} 条数据")
print("结果已保存到:汇总表.xlsx")

代码逐行解释

import pandas as pd
import os
from pathlib import Path
# 导入pandas用于处理Excel,pathlib用于处理文件路径
# pandas是Python处理数据的神器,几乎所有Excel操作都离不开它

# 定义数据文件夹路径
data_folder = Path("销售数据文件")
# 用Path对象管理路径,比字符串更安全可靠

# 获取文件夹下所有Excel文件
excel_files = list(data_folder.glob("*.xlsx"))
# glob("*.xlsx") 找出所有xlsx文件,*是通配符

# 准备一个列表,存放所有数据
all_data = []

# 遍历每个文件,读取数据
for file in excel_files:
# 读取Excel文件,假设数据在第一个sheet
    df = pd.read_excel(file, sheet_name=0)
# pd.read_excel 是pandas读取Excel的函数,返回DataFrame(数据框)

# 从文件名提取销售员姓名
    salesman_name = file.stem.split("_")[0]
# file.stem 获取文件名(不含扩展名),split("_")用下划线分割,取第一部分

# 添加一列,标记数据来源
    df["销售员"] = salesman_name
# 直接给DataFrame新增一列,非常方便

# 把处理后的数据加入列表
    all_data.append(df)
# 循环结束

# 合并所有数据
result = pd.concat(all_data, ignore_index=True)
# pd.concat 合并多个DataFrame,ignore_index=True 重置行索引

# 保存结果到新的Excel文件
result.to_excel("汇总表.xlsx", index=False)
# to_excel 保存为Excel,index=False 不保存行索引

print(f"处理完成!共处理 {len(excel_files)} 个文件,合计 {len(result)} 条数据")
print("结果已保存到:汇总表.xlsx")
# 打印处理结果

运行效果:处理20个文件,假设每个文件100行数据,一共2000行数据,总耗时不超过10秒
输出如下:

处理完成!共处理 20 个文件,合计 2000 条数据
结果已保存到:汇总表.xlsx

适用场景:月度/季度汇总报表、多人数据合并、需要从多个文件提取固定信息进行汇总的工作


场景二:自动数据清洗——处理异常值和缺失值

场景说明:你从系统导出的数据总是有各种问题——有的是空值(NaN),有的是异常值(比如销售额是负数),有的是格式不对(有空格、特殊符号)
之前你一行行手动修改,现在,代码自动处理完

import pandas as pd
import numpy as np

# 读取原始数据(假设这是一个从系统导出的销售数据)
df = pd.read_excel("原始销售数据.xlsx")

print("=" * 50)
print("处理前的数据预览:")
print(df.head(10))
print(f"\n数据总行数:{len(df)}")

# ===== 第一步:处理缺失值 =====
# 1.1 删除整行都是空值的行
df = df.dropna(how="all")

# 1.2 对于销售额列,用0填充空值
# (根据业务场景,也可以用均值、中位数等填充)
df["销售额"] = df["销售额"].fillna(0)

# 1.3 对于日期列,删除日期为空的行
df = df.dropna(subset=["日期"])

# ===== 第二步:处理异常值 =====
# 2.1 删除销售额为负数的行(异常数据)
df = df[df["销售额"] >= 0]

# 2.2 删除销售额超过1亿的行(可能是输入错误)
df = df[df["销售额"] <= 100000000]

# 2.3 对销售额进行异常值检测(使用IQR方法,把超过3倍四分位距的数据视为异常)
Q1 = df["销售额"].quantile(0.25)
Q3 = df["销售额"].quantile(0.75)
IQR = Q3 - Q1
lower_bound = Q1 - 3 * IQR
upper_bound = Q3 + 3 * IQR

# 保留正常范围内的数据
df = df[(df["销售额"] >= lower_bound) & (df["销售额"] <= upper_bound)]

# ===== 第三步:数据格式清洗 =====
# 3.1 去除文本列的前后空格
df["客户名称"] = df["客户名称"].str.strip()

# 3.2 把客户名称中的多个空格替换为单个空格
df["客户名称"] = df["客户名称"].str.replace(r"\s+"" ", regex=True)

# 3.3 统一日期格式
df["日期"] = pd.to_datetime(df["日期"])

# 3.4 把销售额保留两位小数
df["销售额"] = df["销售额"].round(2)

# ===== 第四步:保存清洗后的数据 =====
df.to_excel("清洗后的销售数据.xlsx", index=False)

print("\n" + "=" * 50)
print("处理后的数据预览:")
print(df.head(10))
print(f"\n处理后数据总行数:{len(df)}")
print("结果已保存到:清洗后的销售数据.xlsx")

代码逐行解释

import pandas as pd
import numpy as np
# 导入pandas处理数据,numpy用于数值计算

# 读取原始数据
df = pd.read_excel("原始销售数据.xlsx")
# 读取Excel,返回DataFrame

print("=" * 50)
print("处理前的数据预览:")
print(df.head(10))
# head(10) 显示前10行,方便查看数据

# ===== 第一步:处理缺失值 =====
# 1.1 删除整行都是空值的行
df = df.dropna(how="all")
# dropna 删除空值,how="all"表示只有全空才删除

# 1.2 对于销售额列,用0填充空值
df["销售额"] = df["销售额"].fillna(0)
# fillna 填充空值,0表示用0来填充

# 1.3 对于日期列,删除日期为空的行
df = df.dropna(subset=["日期"])
# subset 指定只看某列的空值

# ===== 第二步:处理异常值 =====
# 2.1 删除销售额为负数的行
df = df[df["销售额"] >= 0]
# 直接用条件过滤

# 2.2 删除销售额超过1亿的行
df = df[df["销售额"] <= 100000000]

# 2.3 异常值检测(IQR方法)
Q1 = df["销售额"].quantile(0.25)
Q3 = df["销售额"].quantile(0.75)
IQR = Q3 - Q1
# quantile 计算分位数,Q1是25%分位,Q3是75%分位
# IQR是四分位距,是统计学中常用的异常值判断标准

lower_bound = Q1 - 3 * IQR
upper_bound = Q3 + 3 * IQR
# 超过3倍IQR的数据视为异常

# 保留正常范围内的数据
df = df[(df["销售额"] >= lower_bound) & (df["销售额"] <= upper_bound)]

# ===== 第三步:数据格式清洗 =====
# 3.1 去除文本列的前后空格
df["客户名称"] = df["客户名称"].str.strip()
# str.strip() 去除字符串首尾空格

# 3.2 把多个空格替换为单个空格
df["客户名称"] = df["客户名称"].str.replace(r"\s+"" ", regex=True)
# 正则表达式\s+匹配一个或多个空格

# 3.3 统一日期格式
df["日期"] = pd.to_datetime(df["日期"])
# to_datetime 把各种日期格式转为标准datetime

# 3.4 把销售额保留两位小数
df["销售额"] = df["销售额"].round(2)

# ===== 第四步:保存 =====
df.to_excel("清洗后的销售数据.xlsx", index=False)

运行效果

处理前的数据预览:
       客户名称     日期      销售额
0    张三公司    2024-01-01   1000.0
1    李四公司    2024-01-02      nan
2     王五公司   2024-01-03  -500.0
3    赵六公司  2024-01-04   1500.0
...

处理后数据总行数:1897
结果已保存到:清洗后的销售数据.xlsx

适用场景:从系统导出的原始数据清洗、月报/季报数据预处理、处理格式不统一的数据


场景三:自动生成带格式的Excel报表

场景说明:你每个月要给老板一个报表,要求有数据、有图表、有格式,还要好看
之前你要复制数据、一个个调格式、画图表、调颜色...现在,设置好一次,后面每月自动生成

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side
from openpyxl.chart import BarChart, Reference
from openpyxl.utils.dataframe import dataframe_to_rows

# ===== 准备数据 =====
# 假设这是从数据库或Excel读取的月度销售数据
data = {
"月份": ["1月""2月""3月""4月""5月""6月"],
"销售额": [120000135000128000142000156000168000],
"成本": [8000088000850009200098000105000],
"利润": [400004700043000500005800063000]
}
df = pd.DataFrame(data)

# ===== 创建工作簿 =====
wb = Workbook()
ws = wb.active
ws.title = "月度销售报表"

# ===== 写入数据 =====
# 从第3行开始写数据(第1行是标题,第2行是表头)
ws.merge_cell("A1:E1")
ws["A1"] = "2024年上半年销售报表"
ws["A1"].font = Font(size=16, bold=True, color="FFFFFF")
ws["A1"].alignment = Alignment(horizontal="center")
ws["A1"].fill = PatternFill(start_color="1F4E78", end_color="1F4E78", fill_type="solid")
ws["A1"].height = 25

# 写入表头
headers = list(df.columns)
for col_num, header inenumerate(headers, 1):
    cell = ws.cell(row=2, column=col_num, value=header)
    cell.font = Font(bold=True, color="FFFFFF")
    cell.alignment = Alignment(horizontal="center")
    cell.fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")
    cell.border = Border(
        left=Side(style="thin"),
        right=Side(style="thin"),
        top=Side(style="thin"),
        bottom=Side(style="thin")
    )

# 写入数据
for r_idx, row inenumerate(df.values, 3):
for c_idx, value inenumerate(row, 1):
        cell = ws.cell(row=r_idx, column=c_idx, value=value)
        cell.alignment = Alignment(horizontal="center")
        cell.border = Border(
            left=Side(style="thin"),
            right=Side(style="thin"),
            top=Side(style="thin"),
            bottom=Side(style="thin")
        )
# 利润列用颜色区分(正数绿色,负数红色)
if headers[c_idx - 1] == "利润":
if value >= 50000:
                cell.font = Font(color="00B050")  # 绿色
else:
                cell.font = Font(color="FF0000")  # 红色

# 设置列宽
ws.column_dimensions["A"].width = 12
ws.column_dimensions["B"].width = 15
ws.column_dimensions["C"].width = 15
ws.column_dimensions["D"].width = 15
ws.column_dimensions["E"].width = 15

# ===== 添加图表 =====
chart = BarChart()
chart.title = "月度销售趋势"
chart.style = 10
chart.x_axis.title = "月份"
chart.y_axis.title = "金额(元)"

# 设置图表数据范围
data_ref = Reference(ws, min_col=2, min_row=2, max_row=8, max_col=4)
cats = Reference(ws, min_col=1, min_row=3, max_row=8)
chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(cats)

# 设置图表位置
ws.add_chart(chart, "G3")

# 保存文件
wb.save("自动生成的月度报表.xlsx")
print("报表生成完成!文件已保存:自动生成的月度报表.xlsx")

代码逐行解释

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side
from openpyxl.chart import BarChart, Reference
# openpyxl是Python操作Excel格式和图表的库,功能非常强大
# 还可以创建公式、设置单元格样式、插入图表等

# ===== 准备数据 =====
# 用字典创建示例数据
data = {
"月份": ["1月""2月""3月""4月""5月""6月"],
    ...
}
df = pd.DataFrame(data)

# ===== 创建工作簿 =====
wb = Workbook()
ws = wb.active
ws.title = "月度销售报表"

# ===== 写入数据 =====
# 合并单元格,写入标题
ws.merge_cell("A1:E1")
ws["A1"] = "2024年上半年销售报表"
ws["A1"].font = Font(size=16, bold=True, color="FFFFFF")
# Font 设置字体:大小、粗细、颜色
ws["A1"].alignment = Alignment(horizontal="center")
# Alignment 设置对齐方式
ws["A1"].fill = PatternFill(start_color="1F4E78", end_color="1F4E78", fill_type="solid")
# PatternFill 设置背景色

# 写入表头
headers = list(df.columns)
for col_num, header inenumerate(headers, 1):
    cell = ws.cell(row=2, column=col_num, value=header)
# 设置表头样式:加粗、白字、深蓝背景
    cell.font = Font(bold=True, color="FFFFFF")
    cell.fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")

# 写入数据(遍历DataFrame)
for r_idx, row inenumerate(df.values, 3):
for c_idx, value inenumerate(row, 1):
        cell = ws.cell(row=r_idx, column=c_idx, value=value)
# 简单的边框样式
        cell.border = Border(
            left=Side(style="thin"),
            right=Side(style="thin"),
            ...
        )
# 利润列用颜色区分
if headers[c_idx - 1] == "利润":
if value >= 50000:
                cell.font = Font(color="00B050")

# 设置列宽
ws.column_dimensions["A"].width = 12

# ===== 添加图表 =====
chart = BarChart()
chart.title = "月度销售趋势"
# 创建柱状图

data_ref = Reference(ws, min_col=2, min_row=2, max_row=8, max_col=4)
cats = Reference(ws, min_col=1, min_row=3, max_row=8)
chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(cats)
# Reference 定义图表数据范围和分类

ws.add_chart(chart, "G3")
# 把图表添加到工作表的G3位置

# 保存文件
wb.save("自动生成的月度报表.xlsx")

运行效果:生成一个Excel文件,包含格式化好的数据表(标题、表头、数据、边框、颜色区分),还自带一个美观的柱状图
直接打开就能用,格式完全对齐

适用场景:月度/季度汇报材料、给领导看的格式化报表、自动化报表生成


安装和使用

上面三个场景的代码,你需要安装两个库:

pip install pandas openpyxl
  • • pandas:用于数据处理、清洗、分析
  • • openpyxl:用于读写Excel格式、创建图表

安装好之后,把代码复制到一个 .py 文件里(比如 process_excel.py),创建一个测试的Excel文件,运行就行了:

python process_excel.py

就是这么快


总结:为什么Python能帮你涨薪?

今天给你讲了三件事:

**第一,重复性的Excel工作就是在消耗你的生命
** 复制粘贴谁都会,但如果你每天花3小时干这个,而别人用代码10分钟搞定,那差距就不是一点半点了

**第二,用Python处理Excel,是降维打击
** 批量读取、自动化清洗、自动生成报表...这些功能Excel也能做,但你要一个个手动操作,而Python是一次写好,永远运行

**第三,会用Python的人,老板看得见
** 你干到半夜12点,老板觉得你勤奋
但别人用Python到点下班、工作还干得更好,老板不给他涨薪给谁涨


今天就可以做的事情

别光收藏不做
给你三个立刻能上手的行动:

**第一步,今天就装好Python环境
**
去 anaconda.com 下载安装,然后打开命令行输入 pip install pandas openpyxl,回车,等着安装完

**第二步,找一个你最近要做的Excel任务
**
不用多,就找一个最让你头疼的、每次都要手动整理的,用今天学的代码改一改,试一试

**第三步,用成了,就在周会上提一下
**
不用说是Python,你可以说“最近学了个自动化的方法,效率提高了不少”
让老板知道你在进步


结尾

最后给你留一个问题:**你现在每天在Excel上花多长时间
如果把这个时间省下来,你会用来做什么
**

欢迎在评论区聊聊
觉得有用的话,点个赞,转发给同样需要的朋友

我是小甲鱼,下期教你更多Python实战干货


本文涉及的技术栈:Python、pandas、openpyxl
适合人群:Python初学者、日常需要处理Excel的上班族、想提升效率的人

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-16 04:53:42 HTTP/2.0 GET : https://h.sjds.net/a/511158.html
  2. 运行时间 : 0.074739s [ 吞吐率:13.38req/s ] 内存消耗:4,324.70kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=0173f15427e28fa745a35bb68d920ec2
  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.000591s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000949s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000306s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000274s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000505s ]
  6. SELECT * FROM `set` [ RunTime:0.000196s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000603s ]
  8. SELECT * FROM `article` WHERE `id` = 511158 LIMIT 1 [ RunTime:0.000562s ]
  9. UPDATE `article` SET `lasttime` = 1778878422 WHERE `id` = 511158 [ RunTime:0.002217s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000230s ]
  11. SELECT * FROM `article` WHERE `id` < 511158 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000422s ]
  12. SELECT * FROM `article` WHERE `id` > 511158 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000341s ]
  13. SELECT * FROM `article` WHERE `id` < 511158 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000643s ]
  14. SELECT * FROM `article` WHERE `id` < 511158 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000544s ]
  15. SELECT * FROM `article` WHERE `id` < 511158 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000569s ]
0.076300s