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

使用numpy.loadtxt读取CSV时遇TypeError:参数需为整数的解决求助

问题修复方案

错误原因

你遇到的TypeError: argument must be an integer是因为numpy.loadtxt的skiprows参数使用错误:你传入了列表[1],但你的numpy版本要求该参数为非负整数(表示跳过开头的N行)。

另外代码还有两处问题:

  • 未导入sys模块,但代码中使用了sys.argv,运行时会触发NameError
  • dtype定义重复冗余,所有列都是浮点数类型,无需多次声明

修正后的代码

import numpy
import sys  # 补充导入sys模块

infile = 'dicomfile-test.csv'

print(sys.argv)
if len(sys.argv) > 1:
    infile = sys.argv[1]

xprompts, xrandoms, xduration, xheight, xweight, xdose, xuptime, xsf, xdtcf =\
    numpy.loadtxt(infile, delimiter=',',\
    dtype=float,\
    usecols=(0,1,2,3,4,5,6,7,8), unpack=True, skiprows=1)

补充说明

  • skiprows=1表示跳过文件的第1行(通常是表头),这个写法兼容所有numpy版本;若你使用numpy 1.15及以上版本,也可以用skiprows=[0](行号从0开始计数)跳过指定行,但前者更直观。
  • 当所有列数据类型一致时,直接用dtype=float即可,无需逐个列声明类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 02:17:07