【发布时间】:2018-05-15 02:30:17
【问题描述】:
我正在使用 tweepy 从 Twitter 中提取 10 条推文,并将其存储在 CSV 中,以便稍后在前端网页上显示。我的代码每 60 分钟刷新一次,在某些时候我会收到“IndexError”。
以下是确切的错误:
返回 ks[5]
IndexError: 列表索引超出范围
以下是从 CSV 检索特定推文的功能:
def tweet6(self):
with codecs.open('HELLOTWITTER.csv', 'r', encoding='utf-8', errors='ignore') as f:
reader = csv.reader(f)
d = {}
for i, row in enumerate(reader):
d[row[0]]=row[1:]
if (i>=10):
break
ks=list(d)
return (ks[5])
此错误仅偶尔发生,但我无法弄清楚为什么会发生这种情况,尽管每次刷新整个代码时 CSV 都会写入所有 10 条推文。 另外,如果我再次运行代码,错误就会消失,并且网页加载时推文没有任何问题,令人惊讶!
我错过了什么? 任何帮助深表感谢!谢谢!
【问题讨论】:
-
请正确格式化代码。
-
放置几个
prints 来检查变量是否包含预期的结果(或使用调试器代替)通常很有帮助 -
很明显,在某些时候您对CVS 每次都将所有 10 条推文写入其中有误。否则,您会期望我们相信 Python 是在撒谎,只是在假装。 list index out of range 表示列表索引超出范围,出现该错误的唯一原因是列表索引超出范围。
-
@KenWhite :我知道这是空白行或数据不足的问题。但是有什么办法可以处理这个错误吗?
-
我认为您接受的答案与此有关,不是吗?
标签: python csv index-error