我正在编写 Python 代码,该代码接收 .csv 文件并使用其中的数据来创建图表。我正在使用 numpy.loadtxt 来完成此任务。我的代码开头如下:
import numpy
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,float,float,float,float,float,float,float,float',\
usecols = (0,1,2,3,4,5,6,7,8), unpack = True, skiprows = [1])
标有“xprompts”、“xrandoms”等的变量是 .csv 文件中每列的名称。每列有 9 行数字,代码应该在这些数字上运行。我出现的错误是:
Traceback (most recent call last):
File "/Users/mycomputer/Desktop/Project/test-curve.py", line 28, in <module>
np.loadtxt(infile, delimiter=',',\
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/lib/npyio.py", line 1338, in loadtxt
arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter,
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/lib/npyio.py", line 962, in _read
_check_nonneg_int(skiplines)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/numpy/lib/npyio.py", line 774, in _check_nonneg_int
raise TypeError(f"{name} must be an integer") from None
TypeError: argument must be an integer
我对 Python 相当陌生,所以我很难理解要在代码中更改哪些内容来修复此错误。 TypeError 表示参数必须是整数,这就是我的困惑之处,因为 .csv 文件中的所有内容都是整数。任何帮助将不胜感激 - 谢谢!
这与数据无关,而是与参数
skiprows
有关,它必须是int
而不是list
。如果您想跳过第一行,请执行 skiprows=1
而不是 skiprows=[1]
。
来自文档:
skiprows : int, optional
Skip the first `skiprows` lines, including comments; default: 0.