我需要一些有关正在处理的作业的建议。因此,我们获得了具有以下格式的csv文件,如下所示:
<0:100>,<1:1000>
<1:1000>,<2:10000>
任务是读取文件,然后执行BFS查找图中的最低值节点。
我正在考虑使用python defaultdict(list)为该图构造一个邻接表,并从节点ID 0开始在该图上应用BFS。
对于构造邻接表,我需要分析csv文件中的数据以提取每个边缘的节点ID和节点值。在python中最有效的方法是什么?
谢谢!
答案 0 :(得分:0)
下面的代码将给出有关在python中解析CSV文件的想法。一旦在对象数组中获得了值,就可以将基于BFS的方法用作单独的方法。
nodes = []
line = 0
column = 0
try:
f = open("nodes.txt")
for nodelist in read_lines(f):
line += 1
column = 0
for node in nodelist.split(","):
nodeObject = {"nodeplace": "{0},{1}".Format(line,column), "value": node}
column += 1
nodes.append(nodeObject)
f.close()
except Exception:
print("could not read file")
def read_lines(f):
for line in f.readlines("\n")
yield line
# To be defined: def max_value_using_bsf(nodes)