当前位置:首页>python>《告别手动复制粘贴!用Python打造PDF表格批量提取神器,效率嘎嘎提升》

《告别手动复制粘贴!用Python打造PDF表格批量提取神器,效率嘎嘎提升》

  • 2026-07-02 16:38:21
《告别手动复制粘贴!用Python打造PDF表格批量提取神器,效率嘎嘎提升》

“带你横跨办公自动化的数据江海”

@摸鱼

前言

关于摸鱼

ABOUT MOYU

闻道有先后,术业有专攻。

各位大佬朋友们好!

~我依旧是你们的老朋友摸鱼~

在职场摸爬滚打的这十多年里,我用Python悄悄干了不少“正事”——不知不觉攒下了一整套办公自动化的实用项目技巧。去年10月初创立了公众号 「码海听潮」 ,初衷很简单:把重复的劳动交给代码,把摸鱼的时间留给生活。

目前已经吭哧吭哧更新了100多篇原创文章,每一篇都是实操干货,不讲虚的,只聊怎么用代码真正解放双手,帮大家早点下班、准点摸鱼

好了,多了不说,少了不唠,今天给大佬们分享一款本人原创的从PDF文件中提取所有表格并合并到Excel文件中小工具,这款工具相比手动逐行复制粘贴表格数据到excel里,效率提升数十倍,这是一个非常实用的PDF文档表格处理工具,特别适合经常需要从PDF报表、发票、银行对账单中提取表格数据的场景。

《办公工具成品展示:》

《该办公工具核心功能亮点:》

01

 亮点1:智能表格识别与合并

        • 自动识别PDF中所有页面的表格

        • 智能合并多个表格为一个完整的Excel文件

        • 自动处理表头,保持数据结构清晰

        02

         亮点2:批量处理能力🎨

            • 支持同时处理多个PDF文件

            • 每个PDF独立输出对应的Excel文件

            • 高效处理大量文档,节省时间

            03

            亮点3:多线程处理⚙️

            • 后台线程处理,界面不会卡顿

            • 处理大文件时仍可操作界面

            《该办公工具代码展示:》

            下面,我就用python代码让各位大佬见识一下,什么叫"传统文化"遇上"赛博效率"

            import sysimport osfrom PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout,                              QHBoxLayoutQPushButtonQListWidgetQTextEdit                             QLabelQFileDialogQMessageBoxQFrame)from PyQt6.QtCore import Qt, QThread, pyqtSignalfrom PyQt6.QtGui import QDragEnterEvent, QDropEventclass TableExtractorThread(QThread):    log_message = pyqtSignal(str)    file_finished = pyqtSignal(str, str)    error_occurred = pyqtSignal(str, str)    finished_all = pyqtSignal()    def __init__(self, pdf_files):        super().__init__()        self.pdf_files = pdf_files    def run(self):        # 线程运行逻辑        passclass DropArea(QFrame):    files_dropped = pyqtSignal(list)    def __init__(self):        super().__init__()        self.setAcceptDrops(True)        self.setMinimumHeight(150)        self.setFrameStyle(QFrame.Shape.StyledPanel)        self.setStyleSheet("""            DropArea {                border: 2px dashed #aaa;                border-radius: 10px;                background-color: #f8f9fa;            }            DropArea:hover {                border-color: #4CAF50;                background-color: #f0f8f0;            }        """)        layout = QVBoxLayout()        self.setLayout(layout)        icon_label = QLabel("📁")        icon_label.setAlignment(Qt.AlignmentFlag.AlignCenter)        icon_label.setStyleSheet("font-size: 48px;")        label = QLabel("拖放PDF文件到这里\n或点击下方按钮选择文件")        label.setAlignment(Qt.AlignmentFlag.AlignCenter)        label.setStyleSheet("color: #666; font-size: 14px;")        layout.addWidget(icon_label)        layout.addWidget(label)    def dragEnterEvent(self, event: QDragEnterEvent):        if event.mimeData().hasUrls():            event.acceptProposedAction()            self.setStyleSheet("""                DropArea {                    border: 2px solid #4CAF50;                    border-radius: 10px;                    background-color: #e8f5e9;                }            """)    def dragLeaveEvent(self, event):        self.setStyleSheet("""            DropArea {                border: 2px dashed #aaa;                border-radius: 10px;                background-color: #f8f9fa;            }        """)    def dropEvent(self, event: QDropEvent):        files = []        for url in event.mimeData().urls():            file_path = url.toLocalFile()            if file_path.lower().endswith('.pdf'):                files.append(file_path)        if files:            self.files_dropped.emit(files)        self.setStyleSheet("""            DropArea {                border: 2px dashed #aaa;                border-radius: 10px;                background-color: #f8f9fa;            }        """)class MainWindow(QMainWindow):    def __init__(self):        super().__init__()        self.pdf_files = []        self.init_ui()        self.apply_styles()    def init_ui(self):        self.setWindowTitle("PDF表格提取工具")        self.setGeometry(100100800600)        central_widget = QWidget()        self.setCentralWidget(central_widget)        main_layout = QVBoxLayout()        central_widget.setLayout(main_layout)        title_label = QLabel("PDF表格提取与合并工具")        title_label.setAlignment(Qt.AlignmentFlag.AlignCenter)        title_label.setStyleSheet("font-size: 20px; font-weight: bold; padding: 10px; color: #2c3e50;")        main_layout.addWidget(title_label)        self.drop_area = DropArea()        self.drop_area.files_dropped.connect(self.add_files)        main_layout.addWidget(self.drop_area)        button_layout = QHBoxLayout()        self.select_btn = QPushButton("📂 选择PDF文件")        self.select_btn.clicked.connect(self.select_files)        self.select_btn.setStyleSheet("""            QPushButton {                background-color: #4CAF50;                color: white;                border: none;                padding: 10px 20px;                border-radius: 5px;                font-size: 14px;                font-weight: bold;            }            QPushButton:hover {                background-color: #45a049;            }            QPushButton:pressed {                background-color: #3d8b40;            }        """)        self.clear_btn = QPushButton("🗑️ 清空列表")        self.clear_btn.clicked.connect(self.clear_files)        self.clear_btn.setStyleSheet("""            QPushButton {                background-color: #f44336;                color: white;                border: none;                padding: 10px 20px;                border-radius: 5px;                font-size: 14px;                font-weight: bold;            }            QPushButton:hover {                background-color: #da190b;            }        """)        self.start_btn = QPushButton("🚀 开始提取")        self.start_btn.clicked.connect(self.start_extraction)        self.start_btn.setEnabled(False)        self.start_btn.setStyleSheet("""            QPushButton {                background-color: #2196F3;                color: white;                border: none;                padding: 10px 20px;                border-radius: 5px;                font-size: 14px;                font-weight: bold;            }            QPushButton:hover {                background-color: #0b7dda;            }            QPushButton:disabled {                background-color: #cccccc;            }        """)        button_layout.addWidget(self.select_btn)        button_layout.addWidget(self.clear_btn)        button_layout.addWidget(self.start_btn)        main_layout.addLayout(button_layout)        file_label = QLabel("📋 待处理文件列表:")        file_label.setStyleSheet("font-weight: bold; margin-top: 10px; color: #2c3e50;")        main_layout.addWidget(file_label)        self.file_list = QListWidget()        self.file_list.setStyleSheet("""            QListWidget {                border: 1px solid #ddd;                border-radius: 5px;                padding: 5px;                background-color: white;            }            QListWidget::item {                padding: 8px;                border-bottom: 1px solid #f0f0f0;            }            QListWidget::item:selected {                background-color: #e3f2fd;                color: #000;            }            QListWidget::item:hover {                background-color: #f5f5f5;            }        """)        main_layout.addWidget(self.file_list)        log_label = QLabel("📝 处理日志:")        log_label.setStyleSheet("font-weight: bold; margin-top: 10px; color: #2c3e50;")        main_layout.addWidget(log_label)        self.log_text = QTextEdit()        self.log_text.setReadOnly(True)        self.log_text.setStyleSheet("""            QTextEdit {                border: 1px solid #ddd;                border-radius: 5px;                padding: 10px;                font-family: Consolas, monospace;                font-size: 12px;                background-color: #fafafa;            }        """)        main_layout.addWidget(self.log_text)    def apply_styles(self):        self.setStyleSheet("""            QMainWindow {                background-color: #f5f5f5;            }            QLabel {                color: #333;            }        """)    def select_files(self):        files, _ = QFileDialog.getOpenFileNames(            self"选择PDF文件""""PDF文件 (*.pdf)"        )        if files:            self.add_files(files)    def add_files(self, files):        for file in files:            if file not in self.pdf_files:                self.pdf_files.append(file)                self.file_list.addItem(os.path.basename(file))                self.log_text.append(f"✓ 添加文件: {os.path.basename(file)}")        self.start_btn.setEnabled(len(self.pdf_files) > 0)    def clear_files(self):        self.pdf_files.clear()        self.file_list.clear()        self.start_btn.setEnabled(False)        self.log_text.append("✓ 清空了文件列表")    def start_extraction(self):        if not self.pdf_files:            QMessageBox.warning(self"警告""请先添加PDF文件!")            return        self.select_btn.setEnabled(False)        self.clear_btn.setEnabled(False)        self.start_btn.setEnabled(False)        self.extract_thread = TableExtractorThread(self.pdf_files)        self.extract_thread.log_message.connect(self.update_log)        self.extract_thread.file_finished.connect(self.on_file_finished)        self.extract_thread.error_occurred.connect(self.on_error)        self.extract_thread.finished_all.connect(self.on_extraction_finished)        self.extract_thread.start()        self.log_text.append("\n" + "="*50)        self.log_text.append("开始批量处理...")        self.log_text.append("="*50)    def update_log(self, message):        self.log_text.append(message)        scrollbar = self.log_text.verticalScrollBar()        scrollbar.setValue(scrollbar.maximum())    def on_file_finished(self, input_file, output_file):        self.log_text.append(f"  输出文件: {os.path.basename(output_file)}")    def on_error(self, filename, error):        QMessageBox.warning(self"处理错误", f"处理文件 {filename} 时发生错误:\n{error}")    def on_extraction_finished(self):        self.select_btn.setEnabled(True)        self.clear_btn.setEnabled(True)        self.start_btn.setEnabled(True)        self.log_text.append("\n" + "="*50)        self.log_text.append("✓ 所有文件处理完成!")        self.log_text.append("="*50)        QMessageBox.information(self"完成""所有PDF文件处理完成!\n请查看生成的Excel文件。")def main():    app = QApplication(sys.argv)    app.setStyle('Fusion')    window = MainWindow()    window.show()    sys.exit(app.exec())if __name__ == '__main__':    main()

            通过上面Python自动化脚本,仅用几秒钟的时间就完成原需手动操作数小时甚至数天的工作任务。从最初准备手动人工机械操作的麻木到用python实现高效自动化的畅快,工作效率获得指数级提升,终于实现了不加班熬夜的自由!

            大佬们也可以举一反三,参照上面的代码思路根据自己工作中的实际情况来具体问题具体分析,实现自己定制化的需求。

            《该办公工具的演示视频:》

            《该办公工具的应用场景:》

            场景
            说明

            财务人员

            提取PDF报表中的表格数据

            批量处理学术论文中的数据表格

            批量处理学术论文中的数据表格

            行政办公

            整理各类PDF表单和统计表

            数据分析

            快速从PDF文档中获取结构化表格数据

            结语

            当Python遇见办公,牛马打工人终于笑出了猪叫声

            【职场人必看】每天早上一睁眼,想到又要面对:

            1.📊 堆积如山的Excel表格

            2.📑 机械重复的复制粘贴

            3.✍️ 永远改不完的各类文档

            4.诸如此类的更多........

            是不是连Ctrl+Alt+Delete的心都有了?

            别慌!别急,摸鱼这位“职场外挂”已经带着Python代码来拯救你了!

            感谢各位大佬观看,还望各位大佬抬抬贵手一键三连,多多关注点赞转发评论,大佬们的支持才是摸鱼孜孜不倦更新原创干货的动力!

            另外,本篇文章代码和exe资源已经上传nas私有云,有需要的大佬私信摸鱼君获取!

            最新文章

            随机文章

            基本 文件 流程 错误 SQL 调试
            1. 请求信息 : 2026-07-03 12:15:58 HTTP/2.0 GET : https://f.mffb.com.cn/a/495402.html
            2. 运行时间 : 0.513750s [ 吞吐率:1.95req/s ] 内存消耗:4,644.45kb 文件加载:140
            3. 缓存信息 : 0 reads,0 writes
            4. 会话信息 : SESSION_ID=d21f76dae42348e6d5c42f71bb6d3f8d
            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.000819s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
            2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001493s ]
            3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.023933s ]
            4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000750s ]
            5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001561s ]
            6. SELECT * FROM `set` [ RunTime:0.004678s ]
            7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001872s ]
            8. SELECT * FROM `article` WHERE `id` = 495402 LIMIT 1 [ RunTime:0.001473s ]
            9. UPDATE `article` SET `lasttime` = 1783052158 WHERE `id` = 495402 [ RunTime:0.001399s ]
            10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.004556s ]
            11. SELECT * FROM `article` WHERE `id` < 495402 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.024166s ]
            12. SELECT * FROM `article` WHERE `id` > 495402 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.035181s ]
            13. SELECT * FROM `article` WHERE `id` < 495402 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.068841s ]
            14. SELECT * FROM `article` WHERE `id` < 495402 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.127154s ]
            15. SELECT * FROM `article` WHERE `id` < 495402 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.120022s ]
            0.517480s