Python CSV文件读取问题-为什么此代码只正确地将第一次遍历读取到列表中,而不正确地读取第二组数据和第三组数据?
所以基本上我在做一个练习,阅读世界各地发生的火灾事故的CSV文件,然后在地图上绘制它们。在这个过程中,我使用CSV模块读取数据,但是,只有“LAT”被正确地添加到列表中,下面的列表“LON”和“BRIGHT”似乎是一个空列表。。。有人知道为什么吗Python CSV文件读取问题-为什么此代码只正确地将第一次遍历读取到列表中,而不正确地读取第二组数据和第三组数据?,python,csv,Python,Csv,所以基本上我在做一个练习,阅读世界各地发生的火灾事故的CSV文件,然后在地图上绘制它们。在这个过程中,我使用CSV模块读取数据,但是,只有“LAT”被正确地添加到列表中,下面的列表“LON”和“BRIGHT”似乎是一个空列表。。。有人知道为什么吗 from plotly.graph_objs import Scattergeo, Layout from plotly import offline filename = 'data/MODIS_C6_1_Global_24h.csv' with
from plotly.graph_objs import Scattergeo, Layout
from plotly import offline
filename = 'data/MODIS_C6_1_Global_24h.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
print(header_row)
# 1. I think we have to get the latitude values out first.
lats = [row[0] for row in reader]
lons = [row[1] for row in reader]
brightness = [row[2] for row in reader]
print(lats)
print(lons)
print(brightness)
如果您需要一个参考来查看CSV文件的外观,这里有一个参考链接:
所以,如果我打印(lats)输出:[123、32、12等…]组数据。但如果我打印(lons)或(亮度):[]它会显示一个空列表。因为您在执行
[row[0]for row in reader]
时耗尽了它。读卡器
现在已耗尽。您需要再次阅读。lats,long,bright=(行[0],行[1],行[2])对于reader中的行
Wow,谢谢,这确实帮助了我并解决了问题!你能再给我解释一下关于疲惫的事吗?对读者来说,什么是最累的?非常感谢你的帮助!好了,伙计们,这基本上是因为阅读器是一个生成器,它只产生一次数据,这就是为什么我们不能像那样循环通过它!