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

Pandas如何在文本含RN时拆分句子并将拆分结果逐行展示

需求说明

现有一个存储文本内容的DataFrame,文本列中部分内容包含字符RN,需要实现以下处理逻辑:

  • 逐行检查文本内容,只要出现RN字符,就以RN为分隔符拆分当前行的文本
  • 拆分后得到的每一段文本,单独作为新的一行存储,非文本列的原有值和拆分前对应行保持一致

效果参考

  • 处理前:文本列中RN和其他内容连在同一行,未拆分
  • 处理后:所有RN都作为分隔符被移除,原RN前后的内容各自成为独立行

现有尝试代码

df=df.assign(text=df['Default'].str.split('𝑅N')).explode('text')
问题原因&修正方案

你写的代码整体逻辑是正确的,拆分+展开行的思路完全可行,失效的核心原因是split方法里传入的𝑅是特殊Unicode数学字体字符,不是常规的大写英文字母R,无法匹配到文本里正常的RN字符串,导致拆分失败。
直接把分隔符换成普通大写的RN即可正常运行:

df = df.assign(text=df['Default'].str.split('RN')).explode('text').reset_index(drop=True)

补充优化场景

  1. 过滤拆分产生的空值
    如果文本开头/结尾刚好是RN,拆分后会产生空字符串,可以加一步过滤清除无效行:
df = df.assign(text=df['Default'].str.split('RN')).explode('text')
# 过滤掉内容为空/全是空格的行
df = df[df['text'].str.strip() != ''].reset_index(drop=True)
  1. 大小写不敏感匹配
    如果需要同时匹配rn/Rn/rN等不同大小写的组合,可以开启正则忽略大小写参数:
import re
df = df.assign(text=df['Default'].str.split(r'RN', flags=re.IGNORECASE)).explode('text').reset_index(drop=True)

内容的提问来源于stack exchange,提问作者Ahmed Ewis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:01:06