in noaa/_tools/process.py [0:0]
def processWeatherFile(weatherDataFile, stationsMap):
with open(weatherDataFile, "r") as file:
csvreader = csv.reader(file, delimiter=",", quotechar='"')
currentStationDoc = None
stationDocsProcessed = 0
for row in csvreader:
station = stationsMap[row[0]]
date = datetime.strptime(row[1], "%Y%m%d")
elementType = row[2]
elementValue = row[3]
if currentStationDoc == None:
currentStationDoc = {
"station": station,
"date": date,
elementType: elementValue,
}
elif currentStationDoc["station"] != station or currentStationDoc["date"] != date:
yield processWeatherDoc(currentStationDoc)
stationDocsProcessed = stationDocsProcessed + 1
currentStationDoc = {
"station": station,
"date": date,
elementType: elementValue,
}
else:
currentStationDoc[elementType] = elementValue