简体   繁体   English

如何修复Python中的``列表索引超出范围''错误

[英]How to fix 'list index out of range' error in python

I'm using excel to store a username and score. 我正在使用excel存储用户名和分数。 For example: 例如:

Ben,1 

Kim,9

Jeff,3

Bob,5

I would like to sort them using the score highest to lowest but I keep getting this error: 我想使用从高到低的分数对它们进行排序,但我不断遇到此错误:

list index out of range 列表索引超出范围

My code: 我的代码:

import csv

import operator

sample = open("data.csv","r")

reader = csv.reader(sample,delimiter=',')

sort = sorted(reader,key=operator.itemgetter(1))

You are getting the error because of the empty line 您因为空行而收到错误

import csv
import operator

result = []
with open(filename) as infile:
    reader = csv.reader(infile,delimiter=',')
    for line in reader:
        if line:                #Check if line is empty
            result.append(line)

print(sorted(result,key=operator.itemgetter(1)))

or use filter 或使用filter

with open(filename) as infile:
    reader = csv.reader(infile,delimiter=',')
    print( sorted(filter(None, reader),key=operator.itemgetter(1)) )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM