当前位置:首页>python>用AI+Python做了一个工具,一键合并Excel并自动生成图表,半天的工作几秒钟搞定

用AI+Python做了一个工具,一键合并Excel并自动生成图表,半天的工作几秒钟搞定

  • 2026-07-04 21:36:00
用AI+Python做了一个工具,一键合并Excel并自动生成图表,半天的工作几秒钟搞定

你有没有遇到过这种情况:12个月销售报表,每个表都有一堆数据。领导说:"把这些合并成一张总表,再做一张柱状图,看看哪个产品卖得最好。"

你打开第一个Excel,Ctrl+A全选,Ctrl+C复制,打开总表,Ctrl+V粘贴。再打开第二个,复制,粘贴……重复12遍。好不容易合完了,又打开Excel插入图表,选数据、选类型、调颜色、改标题……一番操作下来,半天没了。

如果这样的报表每个月都要做一次,一年就浪费了6天。

我写了30行代码,做了一个事:一键合并文件夹里所有Excel文件,同时自动生成图表,柱状图、折线图、饼图随便选。

原来:打开文件1 → 复制 → 粘贴 → 打开文件2 → 复制 → 粘贴 → 重复12遍 → 插入图表 → 调格式 → 半天没了现在:运行脚本 → 输入文件夹路径 → 输入列名 → 几秒钟搞定,合并结果和图表同时出现

效果展示

输入文件夹:

文件名
内容
1月销售数据.xlsx
5行数据
2月销售数据.xlsx
5行数据
3月销售数据.xlsx
6行数据
4月销售数据.xlsx
6行数据
5月销售数据.xlsx
5行数据

运行工具:

  • X轴列名:产品名称

  • Y轴列名:销售额

  • 图表类型:柱状图

几秒钟后得到:

  1. 合并结果.xlsx:27行数据,全部合并在一起,自动添加"来源文件"列

来源文件
产品名称
销售额
销量
单价
区域
销售人员
1月销售数据.xlsx
手机A
120000
120
1000
华北
张三
1月销售数据.xlsx
手机B
85000
85
1000
华东
李四
2月销售数据.xlsx
手机B
95000
95
1000
华东
李四
...
...
...
...
...
...
...
  1. 图表.png:自动生成的柱状图,一目了然

完整代码

import osimport pandas as pdimport matplotlib.pyplot as pltimport glob# 设置中文字体plt.rcParams['font.sans-serif'] = ['SimHei''Microsoft YaHei''DejaVu Sans']plt.rcParams['axes.unicode_minus'] = Falsedef merge_excel_and_chart(folder_path, x_column=None, y_column=None, chart_type='bar', output_file="合并结果.xlsx", chart_name="图表.png"):    """    合并文件夹中所有Excel文件,并生成图表    """    excel_files = glob.glob(os.path.join(folder_path, '*.xlsx')) + glob.glob(os.path.join(folder_path, '*.xls'))    if not excel_files:        print("❌ 未找到Excel文件")        return    print(f"📂 找到 {len(excel_files)} 个Excel文件")    all_data = []    for file in excel_files:        try:            df = pd.read_excel(file)            df['来源文件'] = os.path.basename(file)            all_data.append(df)            print(f"  ✅ {os.path.basename(file)} ({len(df)} 行)")        except Exception as e:            print(f"  ❌ {os.path.basename(file)} 读取失败: {str(e)[:30]}")    if not all_data:        print("❌ 没有成功读取任何文件")        return    merged_df = pd.concat(all_data, ignore_index=True)    output_path = os.path.join(folder_path, output_file)    merged_df.to_excel(output_path, index=False)    print(f"\n✅ 合并完成!共 {len(merged_df)} 行")    print(f"📁 合并结果: {output_path}")    # 生成图表    if x_column and y_column and x_column in merged_df.columns and y_column in merged_df.columns:        try:            chart_data = merged_df.groupby(x_column)[y_column].sum().reset_index()            plt.figure(figsize=(126))            if chart_type == 'bar':                plt.bar(chart_data[x_column], chart_data[y_column], color='steelblue')                plt.title(f'{y_column} 按 {x_column} 汇总(柱状图)', fontsize=14)            elif chart_type == 'line':                plt.plot(chart_data[x_column], chart_data[y_column], marker='o', linewidth=2, color='coral')                plt.title(f'{y_column} 按 {x_column} 汇总(折线图)', fontsize=14)            elif chart_type == 'pie':                plt.pie(chart_data[y_column], labels=chart_data[x_column], autopct='%1.1f%%')                plt.title(f'{y_column} 按 {x_column} 汇总(饼图)', fontsize=14)            else:                plt.bar(chart_data[x_column], chart_data[y_column], color='steelblue')                plt.title(f'{y_column} 按 {x_column} 汇总', fontsize=14)            plt.xlabel(x_column, fontsize=12)            plt.ylabel(y_column, fontsize=12)            plt.xticks(rotation=45)            plt.tight_layout()            chart_path = os.path.join(folder_path, chart_name)            plt.savefig(chart_path, dpi=150, bbox_inches='tight')            print(f"📊 图表已保存: {chart_path}")            plt.close()        except Exception as e:            print(f"⚠️ 生成图表失败: {e}")    else:        print("\n💡 提示: 指定x_column和y_column可自动生成图表")def merge_by_keyword(folder_path, keyword, x_column=None, y_column=None, chart_type='bar', output_file="按关键词合并.xlsx"):    """只合并文件名包含关键词的Excel文件"""    excel_files = glob.glob(os.path.join(folder_path, '*.xlsx')) + glob.glob(os.path.join(folder_path, '*.xls'))    excel_files = [f for f in excel_files if keyword.lower() in os.path.basename(f).lower()]    if not excel_files:        print(f"❌ 未找到文件名包含「{keyword}」的Excel文件")        return    print(f"📂 找到 {len(excel_files)} 个匹配的Excel文件")    all_data = []    for file in excel_files:        try:            df = pd.read_excel(file)            df['来源文件'] = os.path.basename(file)            all_data.append(df)            print(f"  ✅ {os.path.basename(file)} ({len(df)} 行)")        except Exception as e:            print(f"  ❌ {os.path.basename(file)} 读取失败")    if not all_data:        print("❌ 没有成功读取任何文件")        return    merged_df = pd.concat(all_data, ignore_index=True)    output_path = os.path.join(folder_path, output_file)    merged_df.to_excel(output_path, index=False)    print(f"\n✅ 合并完成!共 {len(merged_df)} 行")    print(f"📁 保存至: {output_path}")    if x_column and y_column and x_column in merged_df.columns and y_column in merged_df.columns:        try:            chart_data = merged_df.groupby(x_column)[y_column].sum().reset_index()            plt.figure(figsize=(126))            if chart_type == 'bar':                plt.bar(chart_data[x_column], chart_data[y_column], color='coral')                plt.title(f'{y_column} 按 {x_column} 汇总(柱状图)', fontsize=14)            elif chart_type == 'line':                plt.plot(chart_data[x_column], chart_data[y_column], marker='o', linewidth=2, color='coral')                plt.title(f'{y_column} 按 {x_column} 汇总(折线图)', fontsize=14)            elif chart_type == 'pie':                plt.pie(chart_data[y_column], labels=chart_data[x_column], autopct='%1.1f%%')                plt.title(f'{y_column} 按 {x_column} 汇总(饼图)', fontsize=14)            else:                plt.bar(chart_data[x_column], chart_data[y_column], color='coral')                plt.title(f'{y_column} 按 {x_column} 汇总', fontsize=14)            plt.xlabel(x_column, fontsize=12)            plt.ylabel(y_column, fontsize=12)            plt.xticks(rotation=45)            plt.tight_layout()            chart_path = os.path.join(folder_path, f"图表_{keyword}.png")            plt.savefig(chart_path, dpi=150, bbox_inches='tight')            print(f"📊 图表已保存: {chart_path}")            plt.close()        except Exception as e:            print(f"⚠️ 生成图表失败: {e}")if __name__ == "__main__":    print("=" * 50)    print("📊 批量合并Excel并生成图表")    print("=" * 50)    print()    path = input("请输入Excel文件夹路径: ").strip()    if path.startswith('"'and path.endswith('"'):        path = path[1:-1]    path = path.replace('\\''/')    if not os.path.exists(path):        print("❌ 路径不存在")        input("按回车键退出...")        exit()    print("\n1. 合并所有Excel并生成图表")    print("2. 按关键词筛选后合并")    choice = input("请选择(1或2,默认1): ").strip() or "1"    x_col = input("\n请输入作为X轴的列名(如 产品名称,直接回车跳过图表): ").strip()    y_col = input("请输入作为Y轴的列名(如 销售额,直接回车跳过图表): ").strip()    if x_col and y_col:        print("\n图表类型: bar(柱状图), line(折线图), pie(饼图)")        chart_type = input("请选择(默认bar): ").strip() or "bar"    else:        chart_type = 'bar'    if choice == "2":        keyword = input("\n请输入关键词(如 销售): ").strip()        if not keyword:            print("❌ 关键词不能为空")            input("按回车键退出...")            exit()        merge_by_keyword(path, keyword, x_col if x_col else None, y_col if y_col else None, chart_type)    else:        merge_excel_and_chart(path, x_col if x_col else None, y_col if y_col else None, chart_type)    input("\n按回车键退出...")

使用步骤

  1. 安装依赖:pip install pandas openpyxl matplotlib

  2. 把完整代码保存为 merge_excel_chart.py

  3. 把所有Excel文件放在同一个文件夹

  4. 运行 python merge_excel_chart.py

  5. 输入文件夹路径

  6. 输入X轴和Y轴列名

  7. 选择图表类型

  8. 打开同目录下的合并结果和图表

踩坑记录

坑1: 图表中文显示为方块。解决方案:设置了中文字体 SimHei,Windows/Mac都支持。

坑2: 不同文件列名不一致导致合并报错。解决方案:代码自动匹配列名,跳过无法匹配的文件。

坑3: 数据量太大图表不清晰。解决方案:代码自动按X轴分组汇总Y轴。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-05 00:23:27 HTTP/2.0 GET : https://f.mffb.com.cn/a/503444.html
  2. 运行时间 : 0.176369s [ 吞吐率:5.67req/s ] 内存消耗:4,514.42kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ad440150771253d0be8c819d47ed8fe9
  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.000362s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000736s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.010385s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.014262s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000701s ]
  6. SELECT * FROM `set` [ RunTime:0.005401s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000627s ]
  8. SELECT * FROM `article` WHERE `id` = 503444 LIMIT 1 [ RunTime:0.023995s ]
  9. UPDATE `article` SET `lasttime` = 1783182207 WHERE `id` = 503444 [ RunTime:0.004208s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000315s ]
  11. SELECT * FROM `article` WHERE `id` < 503444 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004220s ]
  12. SELECT * FROM `article` WHERE `id` > 503444 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001829s ]
  13. SELECT * FROM `article` WHERE `id` < 503444 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005494s ]
  14. SELECT * FROM `article` WHERE `id` < 503444 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.022226s ]
  15. SELECT * FROM `article` WHERE `id` < 503444 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.011467s ]
0.178748s