# Tinker_Excel **Repository Path**: wanghao4799/xml2-excel_casualty ## Basic Information - **Project Name**: Tinker_Excel - **Description**: 面向特定格式的.xml文件,整合数据成为.xlsx文件。一般服务于特定国家不同结构类型在面临不同地震动强度下,出现人员伤亡的可能性。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-08 - **Last Updated**: 2025-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README <<<<<<< HEAD # XML2Excel数据处理工具 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Python Version](https://img.shields.io/badge/python-3.6%2B-green.svg) 这是一个专门用于处理XML脆弱性函数数据并将其转换为Excel格式的Python工具。该工具能够解析XML文件中的脆弱性函数数据,将其结构化为DataFrame,并导出为Excel文件,支持数据验证和错误处理。工具支持单文件处理和批量文件处理两种模式。 ## 功能特点 - 解析XML脆弱性函数数据 - 提取vulnerabilityFunction节点属性及数据序列 - 数据结构化转换与验证 - 按脆弱性函数ID分组导出Excel工作表 - 创建数据汇总表 - 支持批量处理多个XML文件 - 完整的日志记录与错误处理 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 ### 命令行使用 #### 单文件模式 基本用法: ```bash python xml2excel.py vulnerability.xml ``` 指定输出文件: ```bash python xml2excel.py vulnerability.xml -o output.xlsx ``` 详细日志输出: ```bash python xml2excel.py vulnerability.xml -v ``` #### 批处理模式 处理指定目录中的所有XML文件: ```bash python xml2excel.py --mode batch -i ./xml_files -d ./excel_files ``` 指定文件匹配模式: ```bash python xml2excel.py --mode batch -i ./xml_files -d ./excel_files -p "*.xml" ``` 不创建汇总表格: ```bash python xml2excel.py --mode batch -i ./xml_files -d ./excel_files --no-summary ``` ### 配置文件使用 可以通过配置文件设置常用参数,默认配置文件为`config.json`: ```json { "single_mode": { "xml_file_path": "./vulnerability.xml", "output_excel_path": "./vulnerability.xlsx" }, "batch_mode": { "input_directory": "./xml_files", "output_directory": "./excel_files", "file_pattern": "*.xml", "create_summary": true }, "verbose": false, "mode": "batch" } ``` 指定配置文件: ```bash python xml2excel.py -c my_config.json ``` ### 作为库导入使用 ```python from xml2excel import XMLDataProcessor # 创建处理器实例 processor = XMLDataProcessor() # 单文件处理 processor.process_xml_to_excel("vulnerability.xml", "output.xlsx") # 批量处理文件夹 processor.process_directory("./xml_files", "./excel_files") # 创建汇总表格 processor.create_summary_excel("output.xlsx") ``` ## 目录结构 ``` xml2excel/ ├── xml2excel.py # 主程序文件 ├── config.json # 配置文件 ├── requirements.txt # 依赖项 ├── README.md # 说明文档 ├── LICENSE # 许可证 ├── xml_files/ # 输入文件夹(示例) └── excel_files/ # 输出文件夹(示例) ``` ## 数据处理逻辑 1. **XML解析**: - 使用ElementTree解析XML文件结构 - 提取vulnerabilityFunction节点属性(id, dist) - 读取imls, meanLRs, covLRs数据序列 2. **DataFrame构建**: - 列映射规范: * `imls`: 转换为float数组 * `meanLRs`: 转换为float数组 * `covLRs`: 转换为float数组 - 添加元数据列: vulnerability_id, dist, imt, model_id等 3. **数据验证**: - 检查三列数据长度一致性 - 验证数值有效性 - 检测异常值 4. **Excel导出**: - 按vulnerability_id分组创建工作表 - 创建数据汇总表 - 工作表名称自动清理 5. **汇总表创建**: - 提取各工作表的imls作为第一列 - 提取各工作表的meanLRs作为后续列 - 列名为各工作表名称(脆弱性函数ID) ## 错误处理 工具提供完善的错误处理机制,包括: - XML解析错误处理 - 数据一致性检查 - 文件权限错误处理 - 详细的日志记录 ## 示例输出 处理后的Excel文件将包含: - 每个脆弱性函数ID对应一个工作表 - 一个包含所有脆弱性函数基本信息的汇总表 汇总文件(vulnerability_renew.xlsx)包含: - 一个工作表,以imls列为第一列 - 各脆弱性函数的meanLRs作为后续列 ## 贡献指南 1. Fork 本仓库 2. 创建您的功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交您的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开一个 Pull Request ## 开发者 此工具由XML数据分析工具专家开发,专注于XML数据解析、结构化转换及数据导出。 ## 许可 [MIT](./LICENSE) ======= # Xml2Excel_casualty #### 介绍 面向特定格式的.xml文件,整合数据成为.xlsx文件。一般服务于特定国家不同结构类型在面临不同地震动强度下,出现人员伤亡的可能性。 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) >>>>>>> 6da9b27e36e481f049e42eb6fda7a8dbdc81ae7e