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

如何用Python将Excel单元格内容按单词拆分至单列单行?

用Python拆分Excel单元格文本为单列单词格式

完全可以用Python实现这个需求,核心借助pandas库处理Excel文件,结合正则表达式完成文本拆分。以下是具体实现步骤:

1. 安装依赖库

首先安装处理Excel的必要工具库:

pip install pandas openpyxl

openpyxl用于读写.xlsx格式文件;若你的文件是.xls格式,替换安装xlrd(注意xlrd仅支持旧版xls格式)。

2. 完整代码实现

import pandas as pd
import re

# 替换为你的实际文件路径
input_file = "原始数据.xlsx"
output_file = "拆分后的单词列表.xlsx"

# 读取Excel文件:若数据有表头,可删除header=None;sheet_name指定目标工作表
df = pd.read_excel(input_file, header=None, sheet_name=0)

# 定义文本拆分函数:处理空值、去除标点、提取单词
def split_cell_text(content):
    # 跳过空单元格
    if pd.isna(content):
        return []
    # 正则匹配单词(支持含撇号的单词,比如don't、Mary's)
    # 若不需要保留撇号,可修改为r"\b[a-zA-Z0-9]+\b"
    raw_words = re.findall(r"\b[\w']+\b", str(content))
    # 过滤空字符串并清理前后空格
    return [word.strip() for word in raw_words if word.strip()]

# 对每个单元格应用拆分,将嵌套列表展开为单列
# stack() 把二维表格转为一维序列,explode() 把列表元素拆分为单独行
result_series = df.applymap(split_cell_text).stack().explode().reset_index(drop=True)

# 转为DataFrame并保存到新Excel文件
result_series.to_frame(name="单词").to_excel(output_file, index=False)

3. 关键细节说明

  • 标点处理:正则\b[\w']+\b会自动忽略单词前后的标点(如逗号、感叹号),只提取纯单词内容。
  • 空值规避:函数先判断单元格是否为空,避免空值引发报错。
  • 大小写控制:代码默认保留原单词的大小写,若需要统一转为小写,可在return时添加.lower(),即return [word.strip().lower() for ...]。
  • 多工作表适配:若数据在其他工作表,修改sheet_name参数为对应工作表名称或索引即可。

内容的提问来源于stack exchange,提问作者Szabó Kornél

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 01:19:56