如何按两个及以上换行符拆分数据加载到Dataframe并删除含Bob的行
实现步骤与代码
你可以按以下步骤处理,依赖pandas和正则模块实现需求:
- 第一步:用正则按2个及以上换行符拆分原始文本,得到每行的内容块
- 第二步:将拆分后的列表转成DataFrame
- 第三步:筛选删除所有内容包含
Bob的行
完整可运行代码如下:
import pandas as pd import re # 你的原始示例数据 raw_text = """one two three four Bob five six seven eight nine eleven twleve Bob thirteen fourteen fifteen sixteen""" # 按2个及以上换行符拆分文本,strip()先去掉首尾多余空白避免生成空行 split_blocks = re.split(r'\n{2,}', raw_text.strip()) # 加载为DataFrame df = pd.DataFrame(split_blocks, columns=['text_block']) # 删除包含Bob的行 df = df[~df['text_block'].str.contains('Bob')] # 输出查看结果 print(df)
运行后输出的DataFrame内容如下:
text_block 0 one\ntwo\nthree 2 seven\neight\nine 4 fourteen\nfifteen\nsixteen
如果你需要把每个块里的单行换行换成空格或者其他分隔符,可以额外加一步
df['text_block'] = df['text_block'].str.replace('\n', ' ')处理即可。
内容的提问来源于stack exchange,提问作者a_pcgamer
相关产品推荐
相关产品推荐

