我想通过将矩阵作为文件夹的输入在networkx中绘制图形,但是我得到这个错误“第29行无效文字的int()与基数10:'import”我是一个初学者python真的很感谢我的代码是
# you can change the target folder here
dir_list = os.listdir("data")
new_dir_list = []
for s in dir_list:
if s[0]!=".":
new_dir_list.append(s)
dir_list = new_dir_list
print "The files to be read ", dir_list
graphs = {}
'''
Reading all the files and storing them in a dictionary
'''
for s in dir_list:
print "Reading", s
f = open('data/'+s,'r')
#f = csv.reader(open('data/'+item,'r'), delimiter=' ', quotechar='"')
f = csv.reader(open('data/'+s,'r'), delimiter=' ', quotechar='"')
lines= list(f)
g = nx.Graph()
#g = nx.DiGraph()
g.add_nodes_from(range(len(lines)))
for row in range(len(lines)):
for col in range(len(lines)):
if int(lines[row][col]) == 1:
g.add_edge(row,col)
print "Done reading all the files"
graphs[s] = g
nx.draw(g)
plt.show()
答案 0 :(得分:0)
错误"基数为10的int()的无效文字:' import'"对于带有基数10的int(),"无效的文字:' [[0'"基本上是在说同样的话。
你赋予int()函数的值 - 在前一种情况下是' import',在后一种情况下是' [[0' - 无法转换为整数。因为它显然不是整数文字。
问题在于您的某些文件的内容。正如Rafael Barros所说,你目录中的一个文件可能是.py文件。我会打印文件名,以及循环中行的行和列。这样您就可以找到导致问题的文件和位置。
有关详细信息,请参阅documentation of int() function。