首页 > 解决方案 > csv,IndexError:列表索引超出范围

问题描述

我正在阅读并做Python Crash Course书中的示例。现在我陷入了从 csv 文件中读取数据的困境。我正在尝试获取max_temperatures并阅读它的值,但是当我以与书中相同的方式执行此操作时,会显示错误:

IndexError:
high = int(row[1])
IndexError: list index out of range

代码:

import csv


filename = "sitka_weather_history_2014.csv"
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)
    highs = []
    for row in reader:
        high = int(row[1])
        highs.append(high)

    print(highs)

标签: pythoncsvindexingrangenext

解决方案


由于输入文件包含空行,因此您必须确保列表 ( row) 不为空。如果它是空的 - 跳过它。

就像是:

for row in reader:
    if row:
        high = int(row[1])
        highs.append(high)

推荐阅读