我刚开始使用python,请原谅我,如果我是愚蠢的。然而,当我碰到这个时,我正在四处绘制两个不同的阵列:
追踪(最近的呼叫最后):
name = row [0]文件" C:/ Users / me_irl / PycharmProjects / untitled / lo",第10行,
IndexError:列表索引超出范围
现在,我已经在网上寻找解决方案但是在尝试了pandas,genfromtxt()和其他模块之后,我还没有找到解决方案。
这是我的代码,尽管不完整,仅供参考:
import numpy as np
import matplotlib.pyplot as plt
import csv
import scipy
player_name = []
player_picks = []
with open('C:\exercise.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter= ',')
for row in readCSV:
name = row[0]
picks = row[1]
player_name.append(name)
player_picks.append(picks)
print(player_name)
这是csv的一部分:
萨拉赫,94%
莫拉塔,66%
埃利奥特,64%
凯恩,58%
危险,52%
de Gea,50%
我该怎么办?有人可以给我一个简单的解决方法,并不需要使用我还没有学到的东西吗?
编辑:想出来。它在访问csv时遇到了一些问题。不,没有任何空白行。现在,尝试绘制player_names与player_picks。谢谢大家,谁回复了。学到了很多东西。
答案 0 :(得分:2)
您没有考虑文件中的空行。添加一项检查以查看该行是否包含内容:
import numpy as np
import matplotlib.pyplot as plt
import csv
import scipy
player_name = []
player_picks = []
with open('C:\exercise.csv') as csvfile:
readCSV = csv.reader(csvfile, delimiter= ',')
for row in readCSV:
if len(row) >= 2:
name = row[0]
picks = row[1]
player_name.append(name)
player_picks.append(picks)
print(player_name)
答案 1 :(得分:0)
问题来自陈述
name = row[0]
picks = row[1]
在这些行中,您尝试访问CSV行的第0和第1项。如果它没有至少2个项目,则会提示错误IndexError: list index out of range
。