210 lines
5.5 KiB
Markdown
210 lines
5.5 KiB
Markdown
# 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
|