将csv列连接到字符串并打印特定值

时间:2019-03-28 18:11:04

标签: python

我有一个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)

我只能打印这些项目的字典,但是如何连接项目并打印结果?我不应该使用字典吗?

2 个答案:

答案 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])