解析csv文件中的数据

时间:2018-08-24 04:01:31

标签: python-3.x

我需要一些有关正在处理的作业的建议。因此,我们获得了具有以下格式的csv文件,如下所示:

<0:100>,<1:1000>
<1:1000>,<2:10000>

任务是读取文件,然后执行BFS查找图中的最低值节点。

我正在考虑使用python defaultdict(list)为该图构造一个邻接表,并从节点ID 0开始在该图上应用BFS。

对于构造邻接表,我需要分析csv文件中的数据以提取每个边缘的节点ID和节点值。在python中最有效的方法是什么?

谢谢!

1 个答案:

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