137 lines
3.5 KiB
Plaintext
137 lines
3.5 KiB
Plaintext
|
|
# 通用Excel转CSV工具 - 使用说明
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 自动扫描并转换Data目录下的所有Excel文件
|
|||
|
|
```bash
|
|||
|
|
python export_to_new_dir.py
|
|||
|
|
```
|
|||
|
|
脚本会自动:
|
|||
|
|
1. 扫描`Data`目录下的所有`.xlsx`文件
|
|||
|
|
2. 过滤临时文件(`~$`开头的文件)
|
|||
|
|
3. 转换所有有效Excel文件到`Data_Export`目录
|
|||
|
|
4. 生成对应的`.csv`文件
|
|||
|
|
|
|||
|
|
## 核心文件
|
|||
|
|
|
|||
|
|
### 1. export_to_new_dir.py
|
|||
|
|
**功能**: 通用Excel转CSV工具
|
|||
|
|
```bash
|
|||
|
|
# 运行一次转换所有Excel文件
|
|||
|
|
python export_to_new_dir.py
|
|||
|
|
|
|||
|
|
# 输出位置: Data_Export/*.csv
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**特点**:
|
|||
|
|
- ✅ 自动扫描Data目录
|
|||
|
|
- ✅ 智能过滤临时文件
|
|||
|
|
- ✅ 自动识别文件格式
|
|||
|
|
- ✅ 批量转换多个文件
|
|||
|
|
|
|||
|
|
### 2. read_governance_template.py
|
|||
|
|
**功能**: 完整的读取器类,支持数据操作
|
|||
|
|
```python
|
|||
|
|
from read_governance_template import GovernanceTemplateReader
|
|||
|
|
|
|||
|
|
reader = GovernanceTemplateReader(r"Data\元素治理模板.xlsx")
|
|||
|
|
data = reader.read_excel()
|
|||
|
|
summary = reader.get_summary()
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. simple_excel_reader.py
|
|||
|
|
**功能**: 简化版读取工具,多种方法备用
|
|||
|
|
```bash
|
|||
|
|
python simple_excel_reader.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 数据转换结果
|
|||
|
|
|
|||
|
|
### 实际转换的Excel文件
|
|||
|
|
1. **元素治理模板.xlsx**
|
|||
|
|
- 转换为: 元素治理模板.csv (4.1MB)
|
|||
|
|
- 数据: 22,832行 × 14列
|
|||
|
|
|
|||
|
|
2. **物理模型.xlsx**
|
|||
|
|
- 转换为: 物理模型.csv (31.9MB)
|
|||
|
|
- 数据: 190,864行 × 9列
|
|||
|
|
|
|||
|
|
3. **逻辑模型.xlsx**
|
|||
|
|
- 转换为: 逻辑模型.csv (9.2MB)
|
|||
|
|
- 数据: 67,515行 × 10列
|
|||
|
|
|
|||
|
|
### 总计
|
|||
|
|
- **输出文件数**: 3个CSV文件
|
|||
|
|
- **总大小**: 45.2MB
|
|||
|
|
- **总记录数**: 280,211行数据
|
|||
|
|
|
|||
|
|
## 支持的Excel格式
|
|||
|
|
|
|||
|
|
脚本自动识别Excel格式:
|
|||
|
|
1. **标准表格**: 多行多列的数据表
|
|||
|
|
2. **简单单元格**: 单个单元格内容(如物理模型.xlsx)
|
|||
|
|
3. **混合格式**: 自动适配不同结构
|
|||
|
|
|
|||
|
|
## 技术特点
|
|||
|
|
|
|||
|
|
- ✅ **通用性**: 自动扫描目录下所有Excel文件
|
|||
|
|
- ✅ **智能过滤**: 自动跳过临时文件
|
|||
|
|
- ✅ **格式识别**: 自动适配不同Excel格式
|
|||
|
|
- ✅ **批量处理**: 一次运行转换所有文件
|
|||
|
|
- ✅ **错误处理**: 完善的错误提示和日志
|
|||
|
|
- ✅ **xlwings支持**: 绕过Excel DataValidation限制
|
|||
|
|
|
|||
|
|
## 使用示例
|
|||
|
|
|
|||
|
|
### 添加新的Excel文件
|
|||
|
|
只需将`.xlsx`文件放入`Data`目录,运行脚本即可自动转换:
|
|||
|
|
```bash
|
|||
|
|
# 1. 添加新文件到Data目录
|
|||
|
|
# 2. 运行转换脚本
|
|||
|
|
python export_to_new_dir.py
|
|||
|
|
# 3. 在Data_Export目录查看结果
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 查看转换结果
|
|||
|
|
```bash
|
|||
|
|
# 查看Data_Export目录
|
|||
|
|
ls -lh Data_Export/
|
|||
|
|
|
|||
|
|
# 查看具体文件
|
|||
|
|
head -5 Data_Export/元素治理模板.csv
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
1. **依赖安装**: `pip install xlwings pandas`
|
|||
|
|
2. **文件编码**: 导出的CSV使用UTF-8编码,Excel可直接打开
|
|||
|
|
3. **临时文件**: 自动跳过`~$`开头的临时文件
|
|||
|
|
4. **文件覆盖**: 重复运行会覆盖同名CSV文件
|
|||
|
|
|
|||
|
|
## 问题解决
|
|||
|
|
|
|||
|
|
如果遇到问题:
|
|||
|
|
1. 确保已安装: `pip install xlwings pandas`
|
|||
|
|
2. 检查Excel文件是否损坏
|
|||
|
|
3. 查看详细错误日志
|
|||
|
|
4. 使用备用方案: `python simple_excel_reader.py`
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
d:\Code_Test\Table_Data_Test\
|
|||
|
|
├── Data\ # Excel源文件目录
|
|||
|
|
│ ├── 元素治理模板.xlsx
|
|||
|
|
│ ├── 物理模型.xlsx
|
|||
|
|
│ └── 逻辑模型.xlsx
|
|||
|
|
│
|
|||
|
|
├── Data_Export\ # CSV输出目录
|
|||
|
|
│ ├── 元素治理模板.csv
|
|||
|
|
│ ├── 物理模型.csv
|
|||
|
|
│ └── 逻辑模型.csv
|
|||
|
|
│
|
|||
|
|
├── export_to_new_dir.py # 通用转换工具
|
|||
|
|
├── read_governance_template.py # 读取器类
|
|||
|
|
├── simple_excel_reader.py # 备用工具
|
|||
|
|
└── 使用说明.txt # 本文档
|
|||
|
|
```
|