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

如何用Python将新数据写入CSV新行?代码问题排查

问题排查与修复

核心问题1:文件打开模式错误

你用了mode="w"(写入模式)打开CSV文件,这个模式每次启动都会清空文件原有内容,从头开始写入,导致新数据永远覆盖第一行。正确做法是使用追加模式mode="a",这样新数据会自动添加到文件末尾的新行。

核心问题2:writerows用法错误

writerows()需要接收包含多行数据的可迭代对象(比如[[行1数据], [行2数据]]),但你传入的[results[0]]如果是单个字符串/值,会被拆分成单个字符逐个填入单元格。应该用writerow()(单数)来写入单行数据,确保整行内容被正确写入。

修正后的代码片段

把CSV写入部分替换成以下代码:

csv_file = "output.csv"

# 以追加模式打开文件,newline=""避免多余空行
with open(csv_file, mode="a", newline="") as file:
    writer = csv.writer(file)
    # 将结果和时间戳作为一行写入(匹配你打印的内容)
    writer.writerow([results[0], formatted_timestamp])

额外优化建议

  • 列表赋值问题:check = results是引用赋值,后续results更新会同步改变check的值,应该改成check = results.copy()或check = list(results),确保判断逻辑准确。
  • 异常捕获:你的except没有指定具体异常类型,容易掩盖其他错误,建议改为except requests.exceptions.RequestException:来捕获API请求相关异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:55:09