Pārlūkot izejas kodu

CSV→MDB: 修 safe_names 被上一步替换掉赋值导致的 UnboundLocalError; 试点复跑确认列名 TimeStamp(无下划线)

zhouyang.xie 3 nedēļas atpakaļ
vecāks
revīzija
2f93730725
1 mainītis faili ar 1 papildinājumiem un 0 dzēšanām
  1. 1 0
      scripts/csv_to_mdb.py

+ 1 - 0
scripts/csv_to_mdb.py

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