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

Twint导出的.csv文件加载到pandas dataframe出现ParserError报错求助

报错根源

你遇到的解析错误核心是Twint导出CSV时没有正确转义特殊字符:推文内容里的逗号、换行符没有被双引号包裹,pandas默认按逗号切割字段时,就会把单条推文里的逗号识别成字段分隔符,导致行字段数和表头预期的字段数不匹配,就触发了Expected 1 fields in line 3, saw 3的报错。你观察到的整行数据挤在一个单元格、内容错位的问题也是同一个原因导致的。

解决方案

按优先级排序可以选择以下方法:

  • 重新导出规范CSV(根源解决)
    运行Twint爬取时新增CSV转义配置,强制所有字段用双引号包裹,自动转义内容中的特殊字符:

    import twint
    c = twint.Config()
    # 保留你原有爬取配置不变,新增以下两项
    c.Store_csv = True
    c.Output = "demo_fixed.csv"
    c.csv_quotes = '"'
    c.escape_csv = True
    twint.run.Search(c)
    

    新导出的文件可以直接用pd.read_csv("demo_fixed.csv")正常读取。

  • 现有损坏CSV临时读取
    如果无法重新爬取,可以调整pandas读取参数跳过错误行,或者手动指定列名强制解析:

    import pandas as pd
    # 简易方案:跳过字段数不匹配的坏行
    scrapedData = pd.read_csv('demo.csv', quotechar='"', on_bad_lines='skip', encoding='utf-8')
    
    # 更稳妥方案:手动指定Twint默认全部字段名,强制对齐解析
    cols = ['id', 'conversation_id', 'created_at', 'date', 'time', 'timezone', 'user_id', 'username', 'name', 'place', 'tweet', 'language', 'mentions', 'urls', 'photos', 'replies_count', 'retweets_count', 'likes_count', 'hashtags', 'cashtags', 'link', 'retweet', 'quote_url', 'video', 'thumbnail', 'near', 'geo', 'source', 'user_rt_id', 'user_rt', 'retweet_id', 'reply_to', 'retweet_date', 'translate', 'trans_src', 'trans_dest']
    scrapedData = pd.read_csv('demo.csv', names=cols, header=0, on_bad_lines='skip', encoding='utf-8')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:15:07