如何使用Python中的行和列数据从文本文件中读取值

时间:2014-04-25 14:37:22

标签: python csv text

您好基本上我有一个包含许多行和数据列的文本文件,下面可以看到一个示例。

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

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]