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

Python读取CSV文件报错:expected str, bytes or os.PathLike object, not reader

错误原因与代码修正

错误原因

  • 你错误地重复赋值变量ruta:先将它设为打开的文件对象,随后又覆盖成csv.reader实例。此时ruta已不是文件路径字符串,而是CSV读取器对象。
  • open()函数要求第一个参数必须是路径字符串、字节或路径对象,你传入读取器对象,直接触发了expected str, bytes or os.PathLike object, not reader错误。
  • 代码存在冗余操作:重复创建文件对象和CSV读取器,且首次打开文件未指定编码,可能引发编码兼容问题。

修正后的代码

import csv

# 直接传入文件路径,指定编码打开文件
with open(r"C:\Users\ronald\Documents\PYTHON DATA\importes.csv", encoding='latin1') as fichero_csv:
    lector = csv.reader(fichero_csv)
    next(lector, None)  # 跳过表头行
    importe_total = 0
    for linea in lector:
        importe_str = linea[2]
        importe = float(importe_str)
        importe_total += importe  # 简化累加逻辑
    print(importe_total)

修正说明

  • 直接将文件路径字符串传入open(),同时指定encoding='latin1',确保文件编码匹配
  • 删除了冗余的ruta变量操作,避免类型混淆
  • 修正了linea [2]的空格问题,符合Python代码规范
  • 用+=简化累加操作,代码更简洁易读

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:30:48