rfatkiev/satisfactory-analytics
GitHub: rfatkiev/satisfactory-analytics
用于解析 Satisfactory 保存文件并导出结构化分析数据的 Python 工具。
Stars: 0 | Forks: 0
# WORK IN PROGRESS
# Satisfactory Save Parser
Python 工具,用于解析 Satisfactory 保存文件并导出工厂分析数据。
## 功能
- 对现代 Satisfactory 保存文件进行完整解析
- 导出 JSON 格式,包含解析后的实体、属性、生产和电力数据
- 导出 CSV 格式,便于快速分析
- 标准化 PostgreSQL 导出:
- `save_snapshots`
- `machines`
- `machine_power`
- `machine_recipes`
- `resource_extraction`
- 静态游戏目录,包含物品、配方、建筑、发电机和提取器
## 项目结构
- `satisfactory_parser/` - 解析器、游戏数据助手与 PostgreSQL 导出
- `tests/` - 测试用例与示例保存文件
- `.vendor/` - 捆绑的第三方解析器与游戏数据源
- `schema.sql` - PostgreSQL 架构定义
## 要求
- Python 3.13+
## 克隆
使用子模块克隆:
```
git clone --recurse-submodules https://github.com//.git
```
如果已克隆仓库:
```
git submodule update --init --recursive
```
## 用法
解析保存文件为 JSON 或 CSV 格式:
```
python -m satisfactory_parser parse --input "path\\to\\save.sav" --output "csv_out"
```
导出标准化 PostgreSQL 表:
```
python -m satisfactory_parser export-db --input "path\\to\\save.sav" --output-dir "pg_export"
```
将导出的表加载到 PostgreSQL:
```
python -m satisfactory_parser load-postgres --input-dir "pg_export" --dsn "postgresql://user:password@host:5432/dbname"
```
## 说明
- 项目依赖 `.vendor/` 中的 Git 子模块。
- PostgreSQL 加载需要 `psycopg` 或 `psycopg2`。
- 真实的 `.sav` 文件不包含在仓库中。
- 生成的输出目录如 `csv_out/`、`pg_export/` 和 `out.json` 已被 Git 忽略。
标签:ETL, factory analytics, game catalog, Git submodule, JavaCC, JSON导出, modern Satisfactory saves, PostgreSQL schema, PostgreSQL导出, psycopg, Python解析, Satisfactory, save file parsing, 发电机数据, 子模块管理, 工厂分析, 建筑数据, 提取器数据, 数据分析工具, 数据工程, 测试用例, 游戏存档解析, 游戏数据分析, 游戏数据挖掘, 游戏统计, 物品分类, 生产数据, 电力数据, 逆向工具, 配方数据