import openpyxl
import re

# 打开工作簿
workbook = openpyxl.load_workbook(r"C:\Users\20470\Downloads\招聘法务的公司250228.xlsx")

# 选择要操作的工作表
worksheet = workbook.active

# 初始化列表
qcc_urls = []
keynos = []

# 遍历第一列(A列)
for cell in worksheet['A']:
    # 判断单元格是否为超链接
    if cell.hyperlink is not None:
        # 获取超链接的地址
        link = cell.hyperlink.target
        # 提取 keyno
        keyno = re.findall('firm/(.*?).html', link)
        if keyno:  # 如果找到 keyno
            keynos.append(keyno[0])  # 提取第一个匹配结果
            qcc_urls.append(link)
        else:
            keynos.append(None)  # 如果没有找到 keyno,填充 None
            qcc_urls.append(None)
    else:
        keynos.append(None)  # 如果没有超链接,填充 None
        qcc_urls.append(None)

# 第一行为表头,所以没有超链接
del qcc_urls[0]
del keynos[0]

# 在文件中新增两列
worksheet.cell(row=1, column=worksheet.max_column + 1, value='keyno')  # 新增 keyno 列
worksheet.cell(row=1, column=worksheet.max_column + 1, value='qcc_url')  # 新增 qcc_url 列

# 将数据写入新增的两列
for i, (keyno, qcc_url) in enumerate(zip(keynos, qcc_urls), start=2):
    worksheet.cell(row=i, column=worksheet.max_column - 1, value=keyno)  # 写入 keyno
    worksheet.cell(row=i, column=worksheet.max_column, value=qcc_url)  # 写入 qcc_url

# 保存工作簿
workbook.save(r"C:\Users\20470\Downloads\招聘法务的公司250228_updated.xlsx")

# 关闭工作簿
workbook.close()