瀏覽代碼

CSV→MDB: 修表头 BOM 缺陷(源 CSV 表头带 UTF-8 BOM ⇒ 净化后列名成了 _TimeStamp); 试点复跑确认

zhouyang.xie 3 周之前
父節點
當前提交
40d9bb01a0
共有 1 個文件被更改,包括 1 次插入 和 1 次删除
  1. 1 1
      scripts/csv_to_mdb.py

+ 1 - 1
scripts/csv_to_mdb.py

@@ -44,7 +44,7 @@ CLS_DIR = {'10min': 'scada_10min', '1min': 'scada_1min'}
 def safe_names(cols: list[str]) -> list[str]:
     out, seen = [], {}
     for i, c in enumerate(cols):
-        n = re.sub(r'[^0-9A-Za-z_\u4e00-\u9fff]', '_', c)[:60] or f'c{i}'
+        c = c.lstrip('\ufeff')      # ★ 源 CSV 表头带 UTF-8 BOM ⇒ 不清掉会被净化成 _TimeStamp(实测)
         if n in seen:
             seen[n] += 1
             n = f'{n[:56]}_{seen[n]}'