csv, IndexError: list index out of range

csv, IndexError: list index out of range

我正在阅读 Python 速成课程 一书中的示例并做示例。现在我陷入了从 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)

high 是行中的第一个元素吗?如果是这样,请记住 Python 从 0 开始计数 - 所以它应该是 high = int(row[0])

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

类似于:

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