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

Python新手求助:Twitter导出CSV处理程序运行无效果,求代码排查

排查你的Twitter CSV处理代码问题

首先得说,你的思路方向是对的,但代码里有几个关键问题导致程序运行后没对文件做出任何修改,咱们一个个拆解清楚:

1. 对csv.DictReader的核心误解

csv.DictReader返回的每一行row是字典类型——键对应CSV的表头(或你指定的fieldnames),值对应列的内容。你用row[y][x]去访问完全错误,字典不是二维数组,这种写法要么直接抛出KeyError,要么触发你的except块让y自增,等于根本没执行到筛选逻辑。

2. 完全缺失写入处理内容的逻辑

你只打开文件做了读取操作,却没有创建csv.DictWriter/csv.writer来把筛选后的内容写回文件。而且r+模式下直接覆盖写很容易出现读写位置混乱的问题,行业通用做法是:读取原文件→处理内容→写入临时文件→最后替换原文件(或直接写入新文件)。

3. del_cell是未定义操作

就算逻辑走到了else分支,del_cell既不是Python内置函数,也没看到你自定义它,这会直接抛出NameError,然后进入except块,等于这部分删除逻辑完全没生效。

4. 异常处理过于宽泛

except:会捕获所有异常,包括语法错误、索引错误等,这会把真正的错误信息隐藏起来,让你完全不知道问题出在哪。调试时应该只捕获特定异常,比如KeyError,或者至少在except里打印错误详情:except Exception as e: print(e)。

修改后的示例代码

我写了个贴合你需求的简化版,核心是保留包含指定关键词的列(如果你的需求是保留单元格内容含关键词的行,可自行调整逻辑):

import csv
import os

# 定义需要保留的关键词列表
keep_keywords = [
    'created_at', 'id:', 'text:', 'source:', 'user:{', 'name:', 
    'screen_name:', 'location:', 'url:', 'description', 'translator_type:',
    'protected', 'verified', 'followers', 'friends', 'listed', 
    'favourites', 'statuses', 'time', 'lang:', 'is_translator',
    'default_profile', 'notification', 'geo:', 'coordinates:',
    'place:', 'contributors:', 'quoted_status', 'retweeted_status'
]

# 读取原文件,处理后写入临时文件
with open('csvdata.csv', 'r', newline='') as infile, open('temp.csv', 'w', newline='') as outfile:
    reader = csv.DictReader(infile, dialect='excel')
    # 筛选需要保留的列(匹配关键词的表头)
    keep_fields = [field for field in reader.fieldnames if any(keyword in field for keyword in keep_keywords)]
    writer = csv.DictWriter(outfile, fieldnames=keep_fields, dialect='excel')
    
    writer.writeheader()
    for row in reader:
        # 构建只包含保留字段的新行
        filtered_row = {field: row[field] for field in keep_fields}
        writer.writerow(filtered_row)

# 替换原文件(如果不需要备份,直接覆盖即可)
os.replace('temp.csv', 'csvdata.csv')

额外调试建议

  • 先打印row看看结构:print(row),就能直观明白DictReader返回的内容是什么。
  • 不要一开始就写复杂逻辑,先从读取一行、打印一行开始验证,逐步叠加筛选逻辑。

内容的提问来源于stack exchange,提问作者B. Crull

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:37:38