# industry-platform-python **Repository Path**: xiaoyangxiaoen/industry-platform-python ## Basic Information - **Project Name**: industry-platform-python - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-20 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MySQL到Excel导出工具 这是一个Python工具,用于从MySQL数据库查询数据并将结果导出到Excel文件中。 ## 功能特点 - ✅ **配置管理**:通过配置文件管理数据库连接信息 - ✅ **数据库连接**:支持MySQL数据库连接 - ✅ **SQL执行**:执行自定义SQL查询语句 - ✅ **多列导出**:支持导出多列数据到Excel文件 - ✅ **Excel导出**:将查询结果导出为Excel文件(无表头) - ✅ **文件管理**:自动生成带时间戳的文件名,避免覆盖 - ✅ **输出目录**:支持自定义输出文件夹 - ✅ **定时任务**:支持定时自动执行导出任务 - ✅ **错误处理**:完善的错误处理和日志输出 - ✅ **灵活使用**:支持一次性导出和分步执行 ## 文件结构 ``` cyxspt/ ├── config.ini # MySQL配置文件 ├── requirements.txt # Python依赖包列表 ├── mysql_to_excel.py # 主程序文件 ├── example_usage.py # 使用示例 └── README.md # 说明文档 ``` ## 安装依赖 在项目目录下运行以下命令安装所需的Python包: ```bash pip install -r requirements.txt ``` ## 配置数据库连接 编辑 `config.ini` 文件,填入你的MySQL数据库连接信息: ```ini [mysql] host = localhost port = 3306 user = your_username password = your_password database = your_database charset = utf8mb4 [output] excel_filename = output_data.xlsx output_folder = ./output ``` **配置说明:** - `output_folder`: 指定Excel文件的输出目录,如果目录不存在会自动创建 - `excel_filename`: 默认的Excel文件名(会自动添加时间戳) ## 使用方法 ### 方法1:简单使用(一次性导出) ```python from mysql_to_excel import MySQLToExcel # 创建实例 mysql_excel = MySQLToExcel() # 执行SQL查询并导出到Excel sql_query = "SELECT username FROM users WHERE status = 'active'" success = mysql_excel.run(sql_query, "user_data.xlsx") if success: print("导出成功!") else: print("导出失败!") ``` ### 方法2:定时任务模式(推荐) 直接运行主程序,会启动定时任务模式: ```bash python mysql_to_excel.py ``` 程序会: - 每10秒自动执行一次数据导出 - 自动生成带时间戳的文件名,避免覆盖 - 支持 Ctrl+C 优雅退出 - 显示任务执行状态和统计信息 ### 方法3:高级定时任务模式 使用 `scheduled_task_example.py` 获得更多定时选项: ```bash python scheduled_task_example.py ``` 支持的定时模式: 1. **简单定时任务** - 每N秒执行一次 2. **线程化定时任务** - 后台执行,支持交互控制 3. **自定义时间点任务** - 在指定时间点执行(如每天9:00, 12:00, 18:00) 4. **自定义间隔时间** - 用户指定任意间隔秒数 ## 运行示例 ### 单列查询示例 ```sql SELECT company_name FROM rq_clue WHERE del_flag=0 and status=6 ``` 输出:Excel文件包含1列数据 ### 多列查询示例 ```sql SELECT id, company_name FROM rq_clue WHERE del_flag=0 and status=6 ``` 输出:Excel文件包含2列数据(id列和company_name列) ### 更多列查询示例 ```sql SELECT id, company_name, status, create_time FROM rq_clue WHERE del_flag=0 ``` 输出:Excel文件包含4列数据 ### 定时任务运行 ```bash # 启动定时任务(每10秒执行一次) python mysql_to_excel.py # 高级定时任务选项 python scheduled_task_example.py # 测试多列导出功能 python test_multi_column.py ``` 查看 `example_usage.py` 文件了解更多使用示例: ```bash python example_usage.py ``` ## 注意事项 1. **数据格式**: 工具会将查询结果的第一列数据写入Excel文件,无表头 2. **文件覆盖**: 如果输出文件已存在,会被覆盖 3. **数据库权限**: 确保数据库用户有相应表的查询权限 4. **字符编码**: 配置文件使用UTF-8编码,支持中文 ## 常见SQL查询示例 ```sql -- 查询用户名 SELECT username FROM users ORDER BY id LIMIT 100; -- 查询产品价格 SELECT price FROM products WHERE status = 'active'; -- 查询订单金额 SELECT total_amount FROM orders WHERE created_at >= '2024-01-01'; -- 查询统计数据 SELECT COUNT(*) FROM customers WHERE status = 'active'; ``` ## 错误排查 1. **配置文件错误**: 检查config.ini文件格式和数据库连接信息 2. **依赖包缺失**: 运行 `pip install -r requirements.txt` 安装依赖 3. **数据库连接失败**: 检查数据库服务是否启动,连接信息是否正确 4. **SQL语法错误**: 检查SQL语句语法是否正确 5. **权限问题**: 确保数据库用户有相应的查询权限 ## 许可证 本项目仅供学习和个人使用。