面向:现场交来的
F:\temp\如东风场数据这一类目录 → 观澜的data/raw/<场站>/。 工具:scripts/extract_site_data.py(纯标准库 + 系统 ODBC,不新增任何 pip 依赖)。
| 文件 | 体量 | 内容 | 用途 |
|---|---|---|---|
10分钟数据.zip |
3,760 MB | 38 件 WTG01.csv … WTG38.csv,表头 TimeStamp,WTG,StationId,cnt_wtc_… |
10 分钟 SCADA(观澜 scada_10min 的正源) |
1分钟数据.zip |
1,548 MB | 38 件 01E.csv … 38B.csv(机组代号命名),表头 time_stamp,3#桨电机温度,…(中文列) |
1 分钟 SCADA(观澜 scada_1min 的正源) |
25年.zip |
1,071 MB | 25年/<月>/2025-<月>-<类>.zip → .mdb(Access) |
分类深度源(每月 12 类) |
26年.zip |
961 MB | 26年/<月>/2026-<月>-<类>.zip → .mdb |
同上 |
年度 zip 内的类目(每月一套):cnt din dot flg grd int prs scd std sum tmp tur。
实测 std.mdb 只有一张表 tblGrid:
TimeStamp | Station | WPSStatus | TimestampStation | CurrentL1..L3 | VoltageL1..L3 |
ActivePower | ReActivePower | ActivePowerExport | ReActivePowerExport | …(23 列)
TimeStamp 为 10 分钟节拍,Station 为机组号(如 91/92)。
# ① 对账:现场 zip ↔ 现有 data/raw(逐件比大小,不解压十几 GB 就能验,幂等)
python scripts/extract_site_data.py --src "F:\temp\如东风场数据" --verify-raw
# 实测: 10分钟数据.zip → data/raw/如东/scada_10min 38/38 同大小
# 1分钟数据.zip → data/raw/如东/scada_1min 38/38 同大小 ⇒ 现有 raw 输入可追溯
# ② 提取(幂等;已有同大小文件即跳过;--only-missing 只补缺件)
python scripts/extract_site_data.py --src "F:\temp\如东风场数据" --extract-csv --only-missing
# ③ 年度 MDB(深度源)—— 只看结构 / 解出 / 探针
python scripts/extract_site_data.py --src "F:\temp\如东风场数据" --list
python scripts/extract_site_data.py --src "F:\temp\如东风场数据" --extract --year 26 --month 1
python scripts/extract_site_data.py --src "F:\temp\如东风场数据" --probe --class std
# ④ 接上观澜既有链路(体检 → 重算)
python scripts/raw_data_check.py # 结构/增量/时间空洞体检(R1–R8)
python scripts/rebuild_all.py # 或门户「数据重算」
.mdb 的路线(离线、零 pip 依赖)| 平台 | 用什么 | 前提 |
|---|---|---|
| Windows | .NET System.Data.Odbc + 系统 Microsoft Access Driver (*.mdb, *.accdb) |
装了 Office 或 Access Runtime 的机器自带;本机实测可用 |
| Linux | mdbtools 的 mdb-export / mdb-tables |
apt/yum install mdbtools |
两条路本器都会先探针:--probe 缺能力时给补救办法并返回 rc=4,不静默、不猜。
(刻意不把 pyodbc 之类的包塞进交付包:ODBC 驱动是系统级前提,装了包也解决不了;改成"探针 + 明确补救"更诚实。)
--to-csv)python scripts/extract_site_data.py --src <…> --to-csv --class std [--year 26 --month 1] [--turbines WTG01,WTG02]
CLASS_TO_RAW(std → scada_10min;其余类目待现场口径确认后才接,未确认前不硬接);Station 起点 90 ⇒ WTG01(实测 std.mdb 里 Station=91/92);Time,逐机组落 data/raw/如东/<类>/WTG<NN>.csv,追加式写入(同一机组多月叠加)。| 观澜要的类 | 现状 | 缺什么 |
|---|---|---|
故障报警 |
16 件 2025Q1.xls …(已有) |
— |
风机故障记录 |
10 件(*.rar / *.xlsx) |
— |
油样报告 |
0 件 | 现场 PDF 报告 |
windcms / m5_cms_tcm |
0 件 | 振动侧 CMS 导出件(取料单第 7、8 项) |