如何将含\r\分隔符的字符串a\r\b\r\c拆分为a、b、c独立值
字符串拆分处理方案
问题核心原因
你当前的代码存在两个问题:
- 拆分规则的转义写法错误,末尾的反斜杠会转义引号导致语法错误,无法正常执行拆分逻辑
- 循环拆分后的结果没有保存,直接用原始
device_list生成DataFrame,自然没有移除\r\的效果
可直接运行的修正代码
如果你的分隔符是字面量的\r\字符组合(即字符串实际存储为a\r\b\r\c,\r是反斜杠加字母r,不是回车控制符),使用如下代码:
import pandas as pd processed_list = [] for item in device_list: # 按\r\拆分,用原始字符串避免转义混乱 split_items = item.split(r"\r" + "\\") # 过滤空值后加入结果列表 processed_list.extend([i.strip() for i in split_items if i.strip()]) # 用处理后的结果生成DataFrame df = pd.DataFrame(processed_list, columns=["独立取值"]) df
如果你的分隔符是回车控制符加反斜杠(即\r是ASCII回车符,不是字面量字符),调整拆分逻辑即可:
import pandas as pd processed_list = [] for item in device_list: # 先按回车符拆分 split_items = item.split("\r") # 移除每个元素开头的反斜杠并过滤空值 processed_list.extend([i.lstrip("\\").strip() for i in split_items if i.strip()]) df = pd.DataFrame(processed_list, columns=["独立取值"]) df
内容的提问来源于stack exchange,提问作者Abhijay
相关产品推荐
相关产品推荐

