python-3.x - 当我尝试读取这个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 代码,最低温度将正确显示。为什么会发生这种情况以及可以做些什么来解决它?
解决方案
这是因为文件内的读/写指针的位置在第一个 for 循环之后指向文件的末尾。
你可以简单地写
weather_data.seek(0)
在第二个循环之前
推荐阅读
- installation - 导入手电筒 OSError:[WinError 127]
- python - Streamlit:TypeError:需要一个类似字节的对象,而不是“张量”
- python - django rest框架中不存在联系人匹配查询
- kubernetes - 显示在 github 操作中运行的 initContainer 的日志
- android - ANDROID:仅在双击时打开虚拟键盘?
- sql - 如何在 TYPO3 的调度程序中从 SQL 文件执行 SQL 语句?
- c# - 为什么协程不能统一工作?
- python - Python 鼠标点击 event.xdata 使用 twinx()
- linux - 在 Linux 中每 N 条指令读取性能计数器
- charts - 使用 Chartjs-Annotation-Plugin 而不使用“import”