在Python中搜索CSV文件 - IndexError:列表索引超出范围

时间:2017-02-25 18:43:08

标签: python

我的代码出现问题...当我在Python中执行它并输入一个有效的数字时,它会出现" IndexError:list index超出范围"即使它有效或无效。如果数字介于0和0之间,我希望它能打印行[0]和行[1]。 9否则会打印出错误信息。

import csv

number=input("Enter num: ")

with open("myfile.txt", "r") as file:
    fileReader = csv.reader(file)
    for row in fileReader:
        for i in range (0,10):
            if row[i] == number:
                print(row [0], row [1])
    else:
        print ("Error")

file.close()

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果输入值介于0到9之间,您要求的是打印row[0]row[1],但您要做的是打印row[0]row[1]输入值与rowrow[0]之间row[9]中存储的值相匹配。您还假设row将包含10个项目(取决于您的输入,这可能是可接受的假设,我不知道)。

如果输入值介于0和9之间,则会打印row[0]row[1](对于每一行)。它假定每行至少包含两个项目。

import csv

number=input("Enter num: ")

if number >= 0 and number <= 9:
    with open("myfile.txt", "r") as file:
        fileReader = csv.reader(file)
        for row in fileReader:
            print(row [0], row [1])
else:
    print ("Error")

file.close()