guoyu/_已清理文件备份_周六 22512/md/Excel导入列名问题说明.md

210 lines
5.5 KiB
Markdown
Raw Normal View History

2025-12-06 20:11:36 +08:00
# 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