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

Pandas调用to_csv方法未保存文件,exit code -9报错原因是什么

问题原因解答

exit code -9的含义

在类Unix(你当前使用的Linux)系统中,exit code -9代表进程收到了SIGKILL信号,被系统强制终止运行。这种终止不可拦截、不可忽略,绝大多数场景下的触发原因是系统内存不足,OOM(Out Of Memory)守护进程为了保障系统整体稳定,主动杀掉了内存占用过高的Python脚本进程。

是否和文件体积过大有关

该问题完全由处理文件体积过大引发:

  • 300MB的CSV文件用pandas加载到内存后,实际占用内存通常是原文件的3~10倍,本身就会占用数GB内存
  • 你的代码中逐行复制全量关键词字典存入list_of_dicts,如果关键词数量、CSV行数较多,这部分会额外产生成倍的内存开销
  • 进程在执行到to_csv写入步骤前就已经被系统杀死,因此目标路径不会生成输出文件
优化建议

你可以通过以下修改降低内存占用,完成处理需求:

  • 用pandas向量化操作替代嵌套循环:直接调用df[指定列名].str.count(关键词)统计每个关键词的出现次数,无需逐行遍历,内存占用和运行效率都会大幅提升
  • 分块处理大文件:调用pd.read_csv(文件路径, chunksize=10000)按块读取CSV,处理完一块就追加写入输出文件,不需要把全量数据加载到内存
  • 无需提前构建全量字典列表,处理完一行/一块就直接写入结果,避免冗余内存占用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:09:03