我有一个csv文件,其中包含三列:日期,时间和温度。
现在我有以下代码,需要将临时字符串中的日期,时间和温度连接起来,并将临时字符串附加到一个数组中,该数组中保存着温度> 80的值,然后打印结果。
import csv
data_array = []
output = []
with open("temp.csv") as csvfile:
csv_reader = csv.reader(csvfile, delimiter=",")
next(csv_reader, None)
for row in csv_reader:
data_array.append({"date": row[0], "time": row[1], "temp": float(row[2])})
#create an array of dictionary to put related data together; convert the temperature to float.
for item in data_array:
if item['temp'] > 80:
output.append(item)
print(output)
我只能打印这些项目的字典,但是如何连接项目并打印结果?我不应该使用字典吗?
答案 0 :(得分:0)
只是改变
output.append(item)
收件人
output.append(['{} {}'.format(item['date'], item['time']), item['temp']])
答案 1 :(得分:0)
您不需要临时字典。只需构建一个连接日期和时间以及温度的列表,然后在温度大于80时直接在通过CSV阅读器进行循环的循环内将该列表附加到输出列表中即可:
with open("temp.csv") as csvfile:
csv_reader = csv.reader(csvfile, delimiter=",")
next(csv_reader, None)
for date, time, temperature in csv_reader:
temperature = float(temperature)
if temperature > 80:
output.append([' '.join((date, time)), temperature])