guoyu/log/Excel导入列名问题说明.md

210 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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