Files
Stu_scores_system/CSV_FORMAT.md
T
2025-07-16 00:17:05 +08:00

81 lines
2.8 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.
# 学生成绩管理系统 - CSV格式说明
## 数据存储格式
学生数据以CSV格式存储在 `data/students.csv` 文件中,便于查看和编辑。v2.2版本通过模块化的文件工具库提供更强大的CSV处理能力。
## CSV文件结构
### 文件位置
- **文件路径**: `data/students.csv`
- **编码格式**: UTF-8
- **分隔符**: 逗号 (,)
### 字段说明
| 字段名 | 说明 | 示例 |
|--------|------|------|
| 学号 | 学生唯一标识 | 2021001 |
| 姓名 | 学生姓名 | 张三 |
| 年龄 | 学生年龄 | 20 |
| 性别 | M(男)/F(女) | M |
| 课程数量 | 选修课程总数 | 3 |
| 课程1-10 | 课程名称 | 数学 |
| 成绩1-10 | 对应课程成绩 | 85.50 |
| 总分 | 所有课程总分 | 258.00 |
| 平均分 | 平均成绩 | 86.00 |
### 示例数据
```csv
学号,姓名,年龄,性别,课程数量,课程1,成绩1,课程2,成绩2,课程3,成绩3,课程4,成绩4,课程5,成绩5,课程6,成绩6,课程7,成绩7,课程8,成绩8,课程9,成绩9,课程10,成绩10,总分,平均分
2021001,张三,20,M,3,数学,85.50,英语,92.00,物理,78.50,,,,,,,,,,,,,258.00,86.00
2021002,李四,19,F,4,数学,90.00,英语,88.50,物理,85.00,化学,92.50,,,,,,,,,,,356.00,89.00
```
## 优势
1. **可读性强**: 可以用Excel、记事本等工具直接查看和编辑
2. **通用格式**: CSV是标准的数据交换格式
3. **易于备份**: 文本格式便于版本控制和备份
4. **数据分析**: 可以导入到Excel、Python等工具进行进一步分析
## 注意事项
1. 如果课程数量少于10门,未使用的课程和成绩字段将为空
2. 修改CSV文件时请保持格式一致性
3. 程序会在添加、删除、修改学生信息时自动更新CSV文件
4. 建议定期备份CSV文件
## v2.2版本改进
### 🔧 模块化文件处理
- **file_utils模块**:专门的文件操作工具库,提供更可靠的CSV文件处理
- **validation模块**:增强的数据验证功能,确保CSV数据完整性
- **string_utils模块**:优化的字符串处理,更好地处理CSV字段解析
### 📊 数据处理优化
- **错误恢复**:更强的CSV文件损坏检测和修复能力
- **性能提升**:优化的文件读写算法,处理大量数据更高效
- **编码支持**:增强的UTF-8编码处理,更好地支持多语言字符
## 兼容性
- 系统会自动检测并读取CSV格式的学生数据
- 如果CSV文件不存在,系统会在首次保存数据时自动创建
- 支持中文字符(UTF-8编码)
- v2.2版本向下兼容所有v2.1及更早版本的CSV文件
## 技术实现
### 相关模块
- **file_utils.c/h**CSV文件读写核心功能
- **validation.c/h**:数据格式验证
- **string_utils.c/h**:字符串解析和处理
- **io_utils.c/h**:输入输出辅助功能
---
**版本**: v2.2.0
**最后更新**: 2025年
**模块化程度**: 高度模块化