You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python(Jupyter)提取PDS Excel中已勾选复选框的值?

提取Excel中复选框选中状态的实现方案

场景1:单元格内显示符号型复选框(如☐/☒)

这种情况是用文本符号模拟复选框,直接读取单元格内容判断即可,推荐用pandas或openpyxl实现:

代码示例(pandas)

import pandas as pd

# 读取Excel文件
df = pd.read_excel("你的PDS文件路径.xlsx")

# 定义函数提取婚姻状态
def get_marital_status(cell_text):
    if "☒" in cell_text:
        if "已婚" in cell_text:
            return "已婚"
        elif "单身" in cell_text:
            return "单身"
    return None

# 应用函数到目标列(假设列名为"婚姻状况")
df["提取的婚姻状态"] = df["婚姻状况"].apply(get_marital_status)

# 查看结果
print(df[["婚姻状况", "提取的婚姻状态"]])

代码示例(openpyxl)

from openpyxl import load_workbook

wb = load_workbook("你的PDS文件路径.xlsx")
ws = wb.active  # 或指定工作表名 ws = wb["Sheet1"]

# 遍历目标单元格(假设在A列)
for row in ws.iter_rows(min_row=2, max_col=1, values_only=True):
    cell_text = row[0]
    if cell_text:
        if "☒" in cell_text:
            if "已婚" in cell_text:
                print(f"婚姻状况:已婚")
            elif "单身" in cell_text:
                print(f"婚姻状况:单身")

wb.close()

场景2:Excel表单控件复选框

如果是插入的表单控件复选框,需要用win32com.client操作(仅Windows环境支持):

import win32com.client as win32

# 启动Excel应用
excel = win32.gencache.EnsureDispatch("Excel.Application")
excel.Visible = False  # 后台运行

# 打开工作簿
wb = excel.Workbooks.Open("你的PDS文件路径.xlsx")
ws = wb.Worksheets("Sheet1")  # 指定工作表名

# 遍历工作表中的所有控件
for shape in ws.Shapes:
    if shape.Type == 8:  # 8代表表单控件复选框
        # 复选框的关联单元格存储状态(1=勾选,0=未勾选)
        linked_cell = shape.ControlFormat.LinkedCell
        if linked_cell:
            cell_value = ws.Range(linked_cell).Value
            # 根据复选框标题判断对应状态
            if shape.TextFrame2.TextRange.Text == "单身" and cell_value == 1:
                print("婚姻状况:单身")
            elif shape.TextFrame2.TextRange.Text == "已婚" and cell_value == 1:
                print("婚姻状况:已婚")

# 关闭工作簿和Excel
wb.Close(SaveChanges=False)
excel.Quit()

内容的提问来源于stack exchange,提问作者Zeena Marquez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:45:36