Python读取CSV文件遇IndexError: list index out of range错误求助
问题分析
这个错误IndexError: list index out of range出现在sys.argv[1]这一行,原因很明确:你运行Python脚本时,没有传入CSV文件的路径作为命令行参数。
sys.argv是存储命令行参数的列表,sys.argv[0]是脚本自身的路径,sys.argv[1]是你需要传入的第一个参数(也就是目标CSV文件的路径)。你没传这个参数时,列表里只有sys.argv[0],自然取不到索引为1的元素。
解决方法
有两种实用的解决方式:
- 方式一:运行脚本时传入参数
在终端执行脚本时,把CSV文件的路径跟在脚本名后面,比如:
要是当前终端目录就在脚本所在文件夹,直接简化成:python /Users/myname/Desktop/sealsort/sealsort.py ./s18_new.csvpython sealsort.py ./s18_new.csv - 方式二:修改代码直接指定路径
如果你不想每次运行都手动传参数,可以把代码里的注释路径启用,替换掉sys.argv[1]:newm_path = './s18_new.csv' # 去掉原有的sys.argv[1],直接用硬编码的路径
额外排查技巧
如果不确定sys.argv里的内容,可以在代码里加一行打印语句:
print(sys.argv)
运行后就能直观看到当前传入的参数列表,方便快速定位问题。
内容的提问来源于stack exchange,提问作者grd571
相关产品推荐
相关产品推荐

