如何将 CSV 文件中的数据放入字典中以制作图表?
How to put data from CVS file into a dictionary to make a graph?
我在使用 CVS 文件时遇到问题。
我被要求阅读 2 个 CVS 文件并用所述数据制作图表。
lineDefinition.csv
显示信息如下:
"station1","station2","line"
11,163,1
11,212,1
stations.csv
显示信息如下:
"id","latitude","longitude","name","display_name","zone","total_lines","rail"
1,51.5028,-0.2801,"Acton Town","ActonTown",3,2,0
2,51.5143,-0.0755,"Aldgate",NULL,1,2,0
我想要一本字典,其中有:{"station number": "station connection1", "station connection2", ... , "station connection"n"}
如何使用 while
/for
循环只获取我需要的信息并将其放入字典?
lineDefinition.csv
有站间所有连接的数据,stations.csv
有站名。
我尝试使用列表和追加函数以下一种方式读取信息并将其放入字典中:
import csv
dictgrafo = []
dictestaciones = []
dictline = []
with open('lineDefinition.csv', newline='') as csvFile1:
for line in csv.DictReader(csvFile1):
dictgrafo.append(line)
#print(dictgrafo)
print("---------Graph:---------")
print(dictgrafo)
#Stations
with open('stations.csv', newline='') as csvFile2:
for line in csv.DictReader(csvFile2):
dictestaciones.append(line)
#print(dictgrafo)
print("---------stations:---------")
print(dictestaciones)
此代码将创建站点图表。请注意,一条线是双向的,因此您需要输入两个条目:
import csv
dictgrafo = {}
with open('lineDefinition.csv', newline='') as csvFile1:
for line in csv.DictReader(csvFile1):
s1 = int(line['station1'])
s2 = int(line['station2'])
if s1 not in dictgrafo:
dictgrafo[s1] = []
dictgrafo[s1].append(s2)
if s2 not in dictgrafo:
dictgrafo[s2] = []
dictgrafo[s2].append(s1)
print("---------Graph:---------")
print(dictgrafo)
输出:
timr@Tims-NUC:~/src$ python x.py
---------Graph:---------
{11: [123, 22], 123: [11, 9], 22: [11], 33: [10], 10: [33], 9: [123, 16], 16: [9]}
timr@Tims-NUC:~/src$
我在使用 CVS 文件时遇到问题。
我被要求阅读 2 个 CVS 文件并用所述数据制作图表。
lineDefinition.csv
显示信息如下:
"station1","station2","line"
11,163,1
11,212,1
stations.csv
显示信息如下:
"id","latitude","longitude","name","display_name","zone","total_lines","rail"
1,51.5028,-0.2801,"Acton Town","ActonTown",3,2,0
2,51.5143,-0.0755,"Aldgate",NULL,1,2,0
我想要一本字典,其中有:{"station number": "station connection1", "station connection2", ... , "station connection"n"}
如何使用 while
/for
循环只获取我需要的信息并将其放入字典?
lineDefinition.csv
有站间所有连接的数据,stations.csv
有站名。
我尝试使用列表和追加函数以下一种方式读取信息并将其放入字典中:
import csv
dictgrafo = []
dictestaciones = []
dictline = []
with open('lineDefinition.csv', newline='') as csvFile1:
for line in csv.DictReader(csvFile1):
dictgrafo.append(line)
#print(dictgrafo)
print("---------Graph:---------")
print(dictgrafo)
#Stations
with open('stations.csv', newline='') as csvFile2:
for line in csv.DictReader(csvFile2):
dictestaciones.append(line)
#print(dictgrafo)
print("---------stations:---------")
print(dictestaciones)
此代码将创建站点图表。请注意,一条线是双向的,因此您需要输入两个条目:
import csv
dictgrafo = {}
with open('lineDefinition.csv', newline='') as csvFile1:
for line in csv.DictReader(csvFile1):
s1 = int(line['station1'])
s2 = int(line['station2'])
if s1 not in dictgrafo:
dictgrafo[s1] = []
dictgrafo[s1].append(s2)
if s2 not in dictgrafo:
dictgrafo[s2] = []
dictgrafo[s2].append(s1)
print("---------Graph:---------")
print(dictgrafo)
输出:
timr@Tims-NUC:~/src$ python x.py
---------Graph:---------
{11: [123, 22], 123: [11, 9], 22: [11], 33: [10], 10: [33], 9: [123, 16], 16: [9]}
timr@Tims-NUC:~/src$