您好基本上我有一个包含许多行和数据列的文本文件,下面可以看到一个示例。
21,73,12,73,82,10
17,28,19,21,39,11
17,39,19,21,3,91
12,73,17,32,18,31
31,29,31,92,12,32
28,31,83,21,93,20
我希望能够分别读取每个值,同时识别行号和列号。 即。第0行第2列将是12
然后能够将行,列和值写入变量。 ie = i,j,d
我可以将它们读入一个数组并逐行分割,得到列数和行数很好,我只是不知道如何单独分隔每个值。
下面是一些代码,我认为这些代码是用伪代码编写的,而#34; i"和" j"是行号和列号," b"是与上面相关的表中的数据,然后循环。
i = 0
for a in array:
j = 0
for b in array:
if b != 0:
write.code(i,j,b)
j+=1
i+=1
答案 0 :(得分:0)
这应该根据您的原始代码进行操作。
# using with is the safest way to open files
with open(file_name, "r") as file:
# enumerate allows you to iterate through the list with an index and an object
for row_index, row in enumerate(file):
# split allows you to break a string apart with a string key
for col_index, value in enumerate(row.split(",")):
#convert value from string to int
# strip removes spaces newlines and other pesky characters
b = int(value.strip())
if b != 0:
g.add_edge(row_index,col_index, b)
如果你想把它变成一个数组,你可以用列表理解来缩小它。
with open(file_name, "r") as file:
my_array = [ [int(value.strip()) for value in row.split(",")] for row in file]