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

Python中如何将CSV导入为数组?代码报‘str’无append属性求解

问题分析与修复方案

我来帮你拆解下代码报错的原因,以及如何实现你想要的功能:

错误原因

你收到的'str' object has no attribute append错误,核心问题是变量赋值逻辑搞反了:

v = row[1]
v.append(v)
  • 一开始你初始化了v = [](列表类型),但进入循环后,你把row[1](CSV第二列的字符串值,哪怕是数字,csv.reader读出来默认也是字符串)赋值给了v,这时候v的类型从列表变成了字符串。
  • 字符串是没有append方法的,所以调用v.append(v)就会触发报错。

修正后的代码

你想要把第二列的浮点值存入列表(向量),正确的做法是直接把row[1]转成浮点型后添加到列表,而不是覆盖列表变量:

import csv
with open('ThruputCSV.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    v = []
    # 如果CSV第一行是表头,先跳过表头行
    # next(readCSV)
    for row in readCSV:
        # 将字符串转成浮点型,再添加到列表v中
        v.append(float(row[1]))

额外说明

  • 循环结束后,v就是存储了所有第二列浮点数值的列表,符合你想要的“向量”需求。
  • 如果你的CSV第一行是表头(比如列名),记得取消注释next(readCSV)这一行,避免把表头字符串转成浮点型时触发新的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:22:41