# pythonToolProject **Repository Path**: seu-lfh/pythonToolProject ## Basic Information - **Project Name**: pythonToolProject - **Description**: 利用python、ai实现的生产力工具开发项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-13 - **Last Updated**: 2025-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ES数据导出工具 ## 功能描述 从Elasticsearch索引中导出今天的设备属性数据到Excel文件。 ## 环境要求 - Python 3.8+ - Elasticsearch服务器(版本8.x) - 网络连接到ES服务器 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 基本用法 ```bash # 导出今天所有数据 python es_property_export.py # 测试模式(仅导出100条数据) python es_property_export.py --test # 导出指定数量的数据 python es_property_export.py --max-docs 1000 # 自定义输出文件名 python es_property_export.py --output my_export.xlsx # 自定义ES服务器和索引 python es_property_export.py --host http://your-es-server:9200 --index your-index-name ``` ### 参数说明 - `--host`: ES服务器地址(默认:http://192.168.110.127:9200) - `--index`: 索引名称(默认:device_property_1928017374610010112_2025-08) - `--output`: 输出Excel文件名(默认:自动生成带时间戳的文件名) - `--max-docs`: 最大导出文档数(用于限制数据量) - `--test`: 测试模式,仅导出100条数据 ## 输出格式 导出的Excel文件包含以下字段(按顺序): 1. **deviceId**: 设备ID 2. **sn**: 设备序列号(根据deviceId自动映射) 3. **usage**: 设备用途(根据deviceId自动映射:收货/拣货/上架) 4. **property**: 属性名称 5. **value**: 属性值 6. **type**: 数据类型 7. **createTime**: 创建时间(格式:yyyy-MM-dd HH:mm:ss,北京时间,如:2025-08-13 00:00:01) ### 设备映射信息 脚本内置了以下设备信息映射: - deviceId: 1952695156316139520 → sn: MT22AE50250600012, usage: 收货 - deviceId: 1952689993908056064 → sn: MT22AE50250600048, usage: 拣货 - deviceId: 1952694000139464704 → sn: MT22AE50250600008, usage: 上架 Excel文件包含两个工作表: - **设备属性数据**: 主要数据 - **导出统计**: 包含导出统计信息 ## 故障排除 ### 连接问题 如果遇到连接错误,请检查: 1. ES服务器是否正在运行 2. 网络连接是否正常 3. ES服务器地址和端口是否正确 4. 防火墙设置 ### 版本兼容性 - 确保使用elasticsearch客户端8.x版本 - 如果遇到SSL警告,可以在requirements.txt中取消注释urllib3版本限制 ### 常见错误 - `BadRequestError`: 通常是版本兼容性问题,已在代码中处理 - `ConnectionError`: 网络连接问题,检查ES服务器状态 - `索引不存在`: 检查索引名称是否正确 ## 日志 脚本运行时会生成详细的日志信息,保存在 `es_export.log` 文件中。 ## 示例输出 ``` 2025-08-13 13:49:06,318 - INFO - ES客户端初始化成功 2025-08-13 13:49:06,328 - INFO - ES连接成功 2025-08-13 13:49:06,342 - INFO - 索引验证成功 2025-08-13 13:49:06,348 - INFO - 预计导出 200 条记录 2025-08-13 13:49:06,523 - INFO - 导出完成! ✅ 导出成功! 📁 文件路径: /path/to/es_export_xxx.xlsx 📊 记录数量: 200 条 ```