# Excel导入列名问题说明 ## ❌ **问题原因** 您的Excel文件**缺少必填列**: 1. ❌ **信息编号** - 必填 2. ❌ **罪犯姓名** - 必填 ### **当前Excel结构** ``` 监区 | 班级 | 性别 | 民族 | 文化程度 | 罪名 | 刑期 | ... ``` ### **系统要求的Excel结构** ``` 信息编号 | 罪犯姓名 | 监狱 | 监区 | 班级 | 性别 | 民族 | 文化程度 | 罪名 | ... ``` --- ## ✅ **解决方案** ### **方案1:手动修改Excel(推荐)** 1. **打开Excel文件** 2. **插入两列到最前面** - 在A列前插入两列 3. **添加列名** - A列:信息编号 - B列:罪犯姓名 4. **填写数据** ``` 信息编号: 201, 202, 203, ... (唯一数字) 罪犯姓名: 张三, 李四, 王五, ... ``` 5. **完整列顺序** ``` A列: 信息编号 B列: 罪犯姓名 C列: 监狱(可选,可填"第一监狱") D列: 监区 E列: 班级 F列: 性别 G列: 民族 H列: 文化程度 I列: 罪名 J列: 刑期 K列: 刑期起日 L列: 刑期止日 M列: 入监时间 N列: 状态 ``` --- ### **方案2:使用Python脚本自动修复** #### **步骤1:安装依赖** ```bash pip install pandas openpyxl ``` #### **步骤2:运行脚本** ```bash cd C:\Users\Administrator\Desktop\Project\ry_study-v_03 python fix_prison_data.py ``` #### **步骤3:使用生成的文件** - 脚本会生成:`prison_data_fixed.xlsx` - 使用该文件导入系统 --- ### **方案3:下载系统模板** 1. **在系统中点击"下载模板"** 2. **将数据复制到模板中** 3. **保持列名和顺序一致** --- ## 📋 **Excel列名对照表** | 序号 | 列名 | 是否必填 | 示例 | 说明 | |------|------|----------|------|------| | 1 | 信息编号 | ✅ 必填 | 201 | 唯一标识,纯数字 | | 2 | 罪犯姓名 | ✅ 必填 | 张三 | 中文姓名 | | 3 | 监狱 | ⚪ 可选 | 第一监狱 | 监狱名称 | | 4 | 监区 | ✅ 必填 | 四监区 | 监区名称 | | 5 | 班级 | ⚪ 可选 | 二班 | 班级名称(需先在系统中创建) | | 6 | 性别 | ⚪ 可选 | 男 或 女 | 只能填"男"或"女" | | 7 | 民族 | ⚪ 可选 | 汉族 | 民族名称 | | 8 | 文化程度 | ⚪ 可选 | 大专 | 如:小学、初中、高中、大专、本科 | | 9 | 罪名 | ⚪ 可选 | 抢劫罪 | 罪名全称 | | 10 | 刑期 | ⚪ 可选 | 72 | 月数,纯数字 | | 11 | 刑期起日 | ⚪ 可选 | 2024-06-20 | 日期格式:yyyy-MM-dd | | 12 | 刑期止日 | ⚪ 可选 | 2030-05-20 | 日期格式:yyyy-MM-dd | | 13 | 入监时间 | ⚪ 可选 | 2024-06-20 | 日期格式:yyyy-MM-dd | | 14 | 状态 | ⚪ 可选 | 在押 | "在押"或"已释放" | --- ## 🎯 **示例数据** ### **正确的Excel数据** ``` 信息编号 | 罪犯姓名 | 监狱 | 监区 | 班级 | 性别 | 民族 | 文化程度 | 罪名 | 刑期 | 刑期起日 | 刑期止日 | 入监时间 | 状态 201 | 张三 | 第一监狱 | 四监区 | 二班 | 男 | 维吾尔族 | 大专 | 抢劫罪 | 72 | 2024-06-20 | 2030-05-20 | 2024-06-20 | 在押 202 | 李四 | 第一监狱 | 一监区 | 五班 | 男 | 壮族 | 硕士 | 寻衅滋事罪 | 60 | 2024-02-23 | 2029-01-27 | 2024-02-23 | 在押 203 | 王五 | 第一监狱 | 二监区 | 三班 | 男 | 彝族 | 初中 | 故意伤害罪 | 60 | 2023-03-03 | 2028-02-05 | 2023-03-03 | 在押 ``` --- ## ⚠️ **常见错误** ### **错误1:列名不匹配** ``` ❌ 错误: 姓名、编号、囚区 ✅ 正确: 罪犯姓名、信息编号、监区 ``` ### **错误2:列顺序错误** ``` ❌ 错误: 监区 | 班级 | 信息编号 | 罪犯姓名 | ... ✅ 正确: 信息编号 | 罪犯姓名 | 监狱 | 监区 | 班级 | ... ``` ### **错误3:必填列为空** ``` ❌ 错误: 信息编号=201,罪犯姓名=(空) ✅ 正确: 信息编号=201,罪犯姓名=张三 ``` ### **错误4:日期格式错误** ``` ❌ 错误: 2024/06/20、20240620 ✅ 正确: 2024-06-20 ``` --- ## 🔧 **Python脚本说明** ### **脚本功能** 1. ✅ 自动添加"信息编号"列(从201开始递增) 2. ✅ 自动生成随机"罪犯姓名" 3. ✅ 添加"监狱"列(默认为"第一监狱") 4. ✅ 调整列顺序,符合系统要求 5. ✅ 生成新文件:`prison_data_fixed.xlsx` ### **脚本位置** ``` c:\Users\Administrator\Desktop\Project\ry_study-v_03\fix_prison_data.py ``` ### **使用方法** ```bash # 1. 安装依赖 pip install pandas openpyxl # 2. 运行脚本 cd c:\Users\Administrator\Desktop\Project\ry_study-v_03 python fix_prison_data.py # 3. 使用生成的文件 # prison_data_fixed.xlsx ``` --- ## 📊 **验证方法** ### **导入前检查** 1. ☑️ 第1列是"信息编号" 2. ☑️ 第2列是"罪犯姓名" 3. ☑️ 信息编号全部填写且唯一 4. ☑️ 罪犯姓名全部填写 5. ☑️ 监区全部填写 6. ☑️ 日期格式为 yyyy-MM-dd ### **导入后验证** 1. 检查导入结果:成功X条,失败X条 2. 如果失败,查看失败原因 3. 根据失败原因修改Excel后重新导入 --- ## ✅ **总结** ### **问题根源** - Excel文件缺少"信息编号"和"罪犯姓名"两个必填列 ### **解决方法** 1. **手动添加** - 在Excel最前面插入两列 2. **使用脚本** - 运行Python脚本自动修复 3. **使用模板** - 下载系统模板重新填写 ### **重要提示** - ✅ 列名必须完全匹配(区分大小写) - ✅ 列顺序建议按照系统要求 - ✅ 必填列不能为空 - ✅ 日期格式必须为 yyyy-MM-dd