|
@@ -44,7 +44,7 @@ CLS_DIR = {'10min': 'scada_10min', '1min': 'scada_1min'}
|
|
|
def safe_names(cols: list[str]) -> list[str]:
|
|
def safe_names(cols: list[str]) -> list[str]:
|
|
|
out, seen = [], {}
|
|
out, seen = [], {}
|
|
|
for i, c in enumerate(cols):
|
|
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:
|
|
if n in seen:
|
|
|
seen[n] += 1
|
|
seen[n] += 1
|
|
|
n = f'{n[:56]}_{seen[n]}'
|
|
n = f'{n[:56]}_{seen[n]}'
|