首页 > 解决方案 > 当我尝试读取这个excel文件时,Python为什么只有第一个for循环有效,而第二个循环无效?

问题描述

我试图让 Python 读取一个 excel 文件并找到一组天的最高和最低温度。我遇到的问题是第一个 for 循环正常运行,而后面的所有循环都没有。

`weather_data = open("WeatherDataWindows.csv", 'r')
max_temp = 41
for next_line in weather_data:
    next_line = next_line.split(',')
    if next_line[1].isdigit():
        if int(next_line[1]) > max_temp:
            max_temp = int(next_line[1])
print("The max temperature is", max_temp, "degrees")
min_temp = 100
for find_min_temp in weather_data:
    find_min_temp = find_min_temp.split(',')
    if find_min_temp[3].isdigit():
        if int(find_min_temp[3]) < min_temp:
            min_temp = int(find_min_temp[3])
print("The min temperature is", min_temp, "degrees")`

当我运行此代码时,最高温度显示正确,但最低温度仅显示“100”。如果我从程序中删除 max_temp 代码,最低温度将正确显示。为什么会发生这种情况以及可以做些什么来解决它?

标签: python-3.x

解决方案


这是因为文件内的读/写指针的位置在第一个 for 循环之后指向文件的末尾。
你可以简单地写

weather_data.seek(0)

在第二个循环之前


推荐阅读