我正在获取IndexError:列表分配索引超出范围

时间:2019-06-27 14:17:58

标签: python pandas

我遇到错误,我不确定是什么原因导致错误发生。

错误是:

Parts[n] = PN
IndexError: list assignment index out of range

我正在使用的代码是这个。我对python很陌生,并试图找出类似的问题,但似乎没有找到与此完全类似的东西。任何帮助将不胜感激。

import pandas as pd

df = pd.read_excel(r'C:\Users\md77879\Desktop\Test.xls')

Parts = list()
Prices = list()

print("\nEnter 'exit' to end")
PN = input('Enter PN: ')
Parts.append(PN)

Number = (df['Part Number'] == PN)
print(df[Number][['Part Number', 'Price']])

i, n = 0, 0

while PN != ('exit'):
    n = n + 1
    PN = input('   ')
    Number = df['Part Number'] == PN
    print(df[Number][['Part Number', 'Price']])
    Parts[n] = PN
    for i in range(0, n):
        print(Parts[i])

2 个答案:

答案 0 :(得分:0)

检查是否(n> = len(Parts)),这应该是导致出现IndexError的原因。

答案 1 :(得分:0)

我认为问题是您正在尝试修改尚不存在的索引上的零件列表。 尝试替换

Parts[n] = PN

Parts.append(PN)

那应该可以解决您的问题