我有一个来自.csv文件的数据,如下所示(实际文件包含更多数据)。我要显示的第一行包含每一列的标签,其余各行包含每个位置的温度数据。在此数据之前,还有一个我没有包含的标头,因此.csv文件的第一行不包含标签。Scan,location1,location2,location3
1,32.621,38.57,36.977
2,30.976,38.451,36.971
3,32.599,38.536,36.991
我想做的是创建一个列表字典,其中的键是标签(顶部行),值是每个标签的所有温度的列表。所以我正在寻找的输出是这个...{"scan":[1,2,3], "location1":[32.621,30.976,32.599], "location2":[38.57,38.451,38.536], "location3":[36.977,36.971,36.991]}
我已经成功创建了键列表和包含空列表作为值的字典。我的“ else”语句中有一个问题,其中每行上的所有温度数据都进入字典的每个键中。如何获得line_data列表中的每个元素附加到数据字典中的另一个键上?import csv
from tkinter.filedialog import askopenfilename
csv_file_name = askopenfilename(title='Select the temperature file you want to analyze')
file = open(csv_file_name, 'r')
read_file = file.readlines()
keys = []
for line in read_file:
# Column titles will be dictionary keys
if keys == []:
keys = line.split(",")
data = dict.fromkeys(keys, [])
else:
line_data = line.split(",")
for i in range(len(line_data)):
data[keys[i]].append(line_data[i])