索引0处的“ IndexError:列表索引超出范围”

时间:2019-07-09 17:07:57

标签: python python-3.x

我正在尝试使用csv模块重组csv文件中的某些数据,当我调用row [0]时,即使我认为它不应该超出列表范围,它也会给我这个错误IndexError: list index out of range正在呼叫索引0。

这是csv文件中数据的示例。只有一栏。

Caucasian
Black or African American
Caucasian
Asian or Pacific Islander
Caucasian,Hispanic or Latino,Native American or American Indian
Caucasian
Caucasian
Caucasian
Middle Eastern,Asian or Pacific Islander
Asian or Pacific Islander

这里有我的代码示例:

`for row in csvReader:
        if row[0] == "Hispanic,Latino,or Spanish origin":
            print("")
        raceList = row[0].split(",")
        elif (len(raceList) > 1):
            csvWriter.writerow(["Mixed Race"])
        elif (row[0] == "African American"):
            csvWriter.writerow(["Black or African American"])`

1 个答案:

答案 0 :(得分:0)

好像一行是空的。当csvReader尝试读取它时会产生一个空列表,并且空列表甚至没有索引0。要做的第一件事是通过在{{ 1}}循环:

for

运行该命令后,您应该会在得到print(row) 之前看到[]的打印。

但是,由于它是空白行,我们可能不在乎跳过它。要跳过这一行,只需使用IndexError语句跳转到continue循环的下一个迭代:

for

或根据您要执行的操作进行不同处理。