使用pyhon脚本方式将超链接保存到第一列以数字方式显示

由于工作中经常需要对Excel第一列数据进行超链接处理,之前都是手动处理,借助AI cursor 的力量,可以自动化实现进行统一处理

上代码

python 复制代码
import openpyxl
from openpyxl.styles import Font

def add_hyperlinks_to_first_column(input_file, output_file=None):
    """
    读取Excel第一列的数字,添加超链接,并保持显示为数字。
    
    :param input_file: 输入Excel文件路径
    :param output_file: 输出Excel文件路径,默认为覆盖原文件
    """
    if not output_file:
        output_file = input_file
        
    try:
        wb = openpyxl.load_workbook(input_file)
    except FileNotFoundError:
        print(f"错误: 找不到文件 {input_file}")
        return
    except Exception as e:
        print(f"错误: 无法打开文件 {e}")
        return

    ws = wb.active
    base_url = "http://贴你自己的网址?id="
    max_row = ws.max_row
    
    print(f"正在处理: {max_row} 行数据...")
    count = 0

    for row in range(1, max_row + 1):
        cell = ws.cell(row=row, column=1)
        val = cell.value
        
        # 检查是否为有效数字ID
        if val is not None:
            try:
                # 统一转换为整数以构建URL
                if isinstance(val, float) and val.is_integer():
                    id_num = int(val)
                elif isinstance(val, int):
                    id_num = val
                elif isinstance(val, str) and val.strip().isdigit():
                    id_num = int(val.strip())
                else:
                    continue
                
                full_url = f"{base_url}{id_num}"
                
                # 关键步骤:
                # 1. 设置单元格的 hyperlink 属性为完整URL
                # 2. 保持 cell.value 不变(即保持显示为数字)
                cell.hyperlink = full_url
                
                # 可选:设置字体样式以提示用户这是可点击的链接(蓝色+下划线)
                # 注意:这不会改变单元格的值,只改变外观
                cell.font = Font(color="0563C1", underline="single")
                
                count += 1
            except ValueError:
                continue

    try:
        wb.save(output_file)
        print(f"完成!已为 {count} 个单元格添加超链接。")
        print(f"保存至: {output_file}")
    except Exception as e:
        print(f"保存失败: {e}")

if __name__ == "__main__":
    # 请替换为你的实际文件名
    filename = "data.xlsx"
    add_hyperlinks_to_first_column(filename)

最终实践可以执行

C:\Users\liuw\PycharmProjects\pythonProject\venv\Scripts\python.exe C:\Users\liuw\PycharmProjects\pythonProject\add_hyperlinks.py

正在处理: 95 行数据...

完成!已为 94 个单元格添加超链接。

保存至: data.xlsx

Process finished with exit code 0

相关推荐
聪明蛋子哟2 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
今天AI了吗2 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
卷无止境3 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
TELL5213 小时前
selenium webdriver 第二次初始化的异常
开发语言·python
Csvn3 小时前
🐍 Day 4: Python 控制流 — 条件、循环与推导式的艺术
后端·python
大鹏说大话6 小时前
从爬虫到决策引擎:大数据下自媒体如何用Python挖掘用户痛点
开发语言·爬虫·python
Niuguangshuo6 小时前
silero-vad:超轻量级开源 VAD 实践指南
开发语言·python
2501_944676167 小时前
揭秘!WORDTIP公司靠不靠谱?小白必看
大数据·人工智能·python
Minner-Scrapy7 小时前
Scrapy 2.17 源码解析:Scheduler 调度器与磁盘/内存双队列
java·爬虫·python·scrapy·网络爬虫·twisted
CODER03047 小时前
Anaconda和Mamba创建环境管理包常用命令合集
python·深度学习·conda·虚拟环境·mamba·常用命令大全