From 7540f407937eac25d13362866405c4b36e04fe41 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期日, 20 九月 2026 09:08:34 +0800
Subject: [PATCH] refactor(汇总表): 数值全精度写入 + 单元格格式统一两位小数显示

---
 docs/投资/工具/市州月报解析.py |   51 ++++++++++++++++-----------------------------------
 1 files changed, 16 insertions(+), 35 deletions(-)

diff --git "a/docs/\346\212\225\350\265\204/\345\267\245\345\205\267/\345\270\202\345\267\236\346\234\210\346\212\245\350\247\243\346\236\220.py" "b/docs/\346\212\225\350\265\204/\345\267\245\345\205\267/\345\270\202\345\267\236\346\234\210\346\212\245\350\247\243\346\236\220.py"
index ce0f819..77e32f1 100644
--- "a/docs/\346\212\225\350\265\204/\345\267\245\345\205\267/\345\270\202\345\267\236\346\234\210\346\212\245\350\247\243\346\236\220.py"
+++ "b/docs/\346\212\225\350\265\204/\345\267\245\345\205\267/\345\270\202\345\267\236\346\234\210\346\212\245\350\247\243\346\236\220.py"
@@ -77,39 +77,8 @@
 
 
 def pick_columns(cell, nrows, ncols, merges=None):
-    """鎸夎〃澶村叧閿瓧瀹氫綅鍒楋紱鍚屼竴瀛楁鍛戒腑澶氭鏃讹紝鍙栤�滆鍙锋渶灏忋�佸叾娆℃槸鍛戒腑璇嶆渶鐭�濈殑閭d釜銆�
-
-    涓ょ骇琛ㄥご锛堢粍琛ㄥご锛夊鐞嗭細鑻ユ煇瀛楁鐨勫懡涓惤鍦�**璺ㄥ鍒楃殑鍚堝苟鍗曞厓鏍�**閲岋紝璇存槑瀹冩槸缁勮〃澶达紝
-    涓嶈兘鐩存帴褰撴垚璇ュ瓧娈电殑鍒楋紱姝ゆ椂鍦ㄦ湰鍚堝苟鍖哄唴鎺掗櫎鈥滃叾瀹冨瓧娈垫洿娣辩殑瀛愯〃澶粹�濇墍鍗犵殑鍒楋紝
-    鑻ュ彧鍓╁敮涓�涓�鍒楋紝鍒欒鍒楀氨鏄湰瀛楁鐨勫垪銆�
-    渚嬶細閯傚窞銆婁紒涓氭湀鎶ユ眹鎬汇�婻5 缁勮〃澶淬�岃嚜骞村垵绱瀹屾垚鎶曡祫锛堜竾鍏冿級銆嶅悎骞� I:J:K锛�
-        瀛愯〃澶� I=鏈勾璁″垝鎶曡祫锛堜竾鍏冿級銆丣=鍚堣銆並=鍏朵腑锛氭湰鏈堝畬鎴愭姇璧� 鈫�
-        銆岃嚜骞村垵绱銆嶅簲钀藉湪 J锛堜笌鎶曡祫绯荤粺 G 鍒� 5507.5 涓�鑷达級锛岃�屼笉鏄� I锛�8000锛岄偅鍏跺疄鏄湰骞磋鍒掓姇璧勶級銆�
-    """
-    hits = F.scan_fields(cell, nrows, ncols)
-    best = {}
-    for f in FIELDS:
-        if f in hits:
-            best[f] = sorted(hits[f], key=lambda h: (h[0], len(h[2])))[0]
-    cols = {}
-    for f, h in best.items():
-        row1, letter, _txt = h
-        c0 = F.colindex(letter)
-        span = F.merge_span(merges, row1, c0)
-        if span and (span[1] - span[0]) > 1:
-            taken = set()
-            for f2, h2 in best.items():
-                if f2 == f or h2[0] <= row1:
-                    continue
-                c2 = F.colindex(h2[1])
-                if span[0] <= c2 < span[1]:
-                    taken.add(c2)
-            free = [c for c in range(span[0], span[1]) if c not in taken]
-            if len(free) == 1:
-                cols[f] = free[0]
-                continue
-        cols[f] = c0
-    return cols, hits
+    """鎸夎〃澶村畾浣嶅垪锛堝惈涓ょ骇琛ㄥご娑堟锛夆�斺�斿疄鐜拌 鏍煎紡鎺㈡祴.py 鐨� pick_columns锛屼繚璇佷袱澶勫彛寰勪竴鑷淬��"""
+    return F.pick_columns(cell, nrows, ncols, merges, fields=FIELDS)
 
 
 def parse_sheet(cell, nrows, ncols, city=None, merges=None):
@@ -254,7 +223,8 @@
                                for k in ('鑷紑濮嬪缓璁剧疮璁�', '鑷勾鍒濈疮璁�', '鏈湀瀹屾垚'))
                     ok = '鉁� 涓�鑷�' if same else '鈿狅笍 涓嶄竴鑷�'
                 ck = {'鍝佺被': body_key, '甯傚窞': city, '鏂囦欢': f, '宸ヤ綔琛�': nm, '鐘舵��': 'OK',
-                      '椤圭洰琛屾暟': len(rows), '鍚堣琛�': '', '涓�鑷存��': ok}
+                      '椤圭洰琛屾暟': len(rows), '鍚堣琛�': '', '涓�鑷存��': ok,
+                      '鍒椾綅': ','.join('%s=%s' % (k, v) for k, v in (extra.get('鍒椾綅') or {}).items())}
                 for k in ('鑷紑濮嬪缓璁剧疮璁�', '鑷勾鍒濈疮璁�', '鏈湀瀹屾垚'):
                     ck['姹傚拰_' + k] = sums[k]
                 if sub:
@@ -295,7 +265,18 @@
             *(pretty(s[f]) for f in ('鎬绘姇璧�', '鑷紑濮嬪缓璁剧疮璁�', '鏈勾璁″垝鎶曡祫', '鑷勾鍒濈疮璁�', '鏈湀瀹屾垚'))))
     report.append('')
 
-    ck_cols = ['鍝佺被', '甯傚窞', '鏂囦欢', '宸ヤ綔琛�', '鐘舵��', '椤圭洰琛屾暟', '涓�鑷存��', '鍚堣琛�',
+    report.append('## 鍚勬簮鏂囦欢璇嗗埆鍒扮殑鍒椾綅锛�**鎸夎〃澶村叧閿瓧瀹氫綅锛屼笉鏄浐瀹氬垪鍙�**锛�')
+    report.append('')
+    report.append('| 鍝佺被 | 鏂囦欢 | 宸ヤ綔琛� | 椤圭洰鍚嶇О | 鎬绘姇璧� | 鑷紑濮嬪缓璁剧疮璁� | 鏈勾璁″垝鎶曡祫 | 鑷勾鍒濈疮璁� | 鏈湀瀹屾垚 |')
+    report.append('| --- | --- | --- | --- | --- | --- | --- | --- | --- |')
+    _key5 = ('椤圭洰鍚嶇О', '鎬绘姇璧�', '鑷紑濮嬪缓璁剧疮璁�', '鏈勾璁″垝鎶曡祫', '鑷勾鍒濈疮璁�', '鏈湀瀹屾垚')
+    for ck in checks:
+        _cm = dict(kv.split('=', 1) for kv in (ck.get('鍒椾綅') or '').split(',') if '=' in kv)
+        report.append('| %s | %s | %s | %s |' % (ck.get('鍝佺被', ''), ck.get('鏂囦欢', '')[:34], ck.get('宸ヤ綔琛�', '')[:12],
+                                                 ' | '.join(_cm.get(k, '鈥�') for k in _key5)))
+    report.append('')
+
+    ck_cols = ['鍝佺被', '甯傚窞', '鏂囦欢', '宸ヤ綔琛�', '鐘舵��', '椤圭洰琛屾暟', '涓�鑷存��', '鍚堣琛�', '鍒椾綅',
                '姹傚拰_鑷紑濮嬪缓璁剧疮璁�', '姹傚拰_鑷勾鍒濈疮璁�', '姹傚拰_鏈湀瀹屾垚',
                '鍚堣_鑷紑濮嬪缓璁剧疮璁�', '鍚堣_鑷勾鍒濈疮璁�', '鍚堣_鏈湀瀹屾垚']
     p_ck = os.path.join(out, '瑙f瀽鏍¢獙_%s.tsv' % a.month)

--
Gitblit v1.9.1