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

Python使用Regex从CSV格式Tweet数据中提取消息内容

问题根因

  • 代码未导入re模块,直接调用re.findall会直接触发运行报错
  • 正则规则存在语法错误:匹配数字的元字符是\d而非/d,且该规则只能匹配到推特链接后的id,完全无法定位到你需要的content字段
  • 第二段代码直接将文件名字符串传入匹配函数,没有读取文件实际内容,不可能得到预期结果
  • CSV是结构化格式,强行用正则匹配很容易因为content内部包含逗号、换行等特殊字符导致匹配错误,更推荐用Python内置的csv模块处理

方案1:使用csv模块提取(推荐)

该方案会自动适配CSV的转义规则,哪怕content中包含逗号、引号也能正确提取,不需要自行编写匹配逻辑:

import csv

with open("tweets.csv", "r", encoding="utf-8") as f:
    # 直接读取表头映射为字典键
    reader = csv.DictReader(f)
    for row in reader:
        content = row["content"]
        print(content)

方案2:正则实现(仅适用于content不含逗号的场景)

如果确定你的所有推特content中都没有逗号,可以用正则按字段位置匹配:

import re

with open("tweets.csv", "r", encoding="utf-8") as f:
    # 跳过第一行表头
    next(f)
    for line in f:
        # 捕获第三个逗号分隔的字段内容
        match_res = re.match(r"[^,]+,[^,]+,([^,]+),", line)
        if match_res:
            content = match_res.group(1)
            print(content)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:06:01