공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
import sys, io
|
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
import openpyxl
|
|
P = r'D:\01.프로젝트\DB수집\작업파일\광역_사이트맵\충청남도\10.아산시\충청남도_아산시.xlsx'
|
|
wb = openpyxl.load_workbook(P); ws = wb.active
|
|
|
|
print('=== existing &pg= in K (whole file) ===')
|
|
n=0
|
|
for r in range(3, ws.max_row+1):
|
|
k=ws[f'K{r}'].value
|
|
if k and '&pg=' in str(k):
|
|
print(f'r{r}: F={ws[f"F{r}"].value!r} G={ws[f"G{r}"].value!r} K={k}'); n+=1
|
|
print('count', n)
|
|
|
|
print('\n=== merges touching rows 37-47 ===')
|
|
for m in sorted(ws.merged_cells.ranges, key=lambda x:(x.min_row,x.min_col)):
|
|
if m.min_row<=47 and m.max_row>=37:
|
|
print(m, '| min_row',m.min_row,'max_row',m.max_row,'col',m.min_col)
|
|
|
|
print('\n=== row37 cells full ===')
|
|
for c in 'ABCDEFGHIJKLMNOPQRS':
|
|
cell=ws[f'{c}37']
|
|
print(c, repr(cell.value), '| hyperlink=', cell.hyperlink.target if cell.hyperlink else None)
|
|
|
|
print('\n=== F37 in any merge? ===')
|
|
for m in ws.merged_cells.ranges:
|
|
if m.min_col==6 and m.min_row<=37<=m.max_row:
|
|
print('F merge:', m)
|
|
|
|
print('\n=== rows 37,38 K hyperlinks ===')
|
|
for r in (37,38,39,46,47):
|
|
k=ws[f'K{r}']
|
|
print(f'r{r} K={k.value!r} hl={k.hyperlink.target if k.hyperlink else None}')
|
|
print('total merges:', len(ws.merged_cells.ranges))
|