有没有办法使用.strip和.replace与csv.reader

时间:2016-04-14 19:13:42

标签: python sorting csv

我正在尝试从csv文件读取一些数据并按数字顺序排序并打印它。它工作但它真的很乱,我想清理输出有没有办法做到这一点。

    file = open(class_name, "r")
    csv1 = csv.reader(file)
        def arange():
            for line in sort:
                #line = line.strip().replace(","," ") THIS IS WHAT I USE FOR OTHER PARTS OF MY CODE
                print (line)


    sort = sorted(csv1, key=lambda z:(int(z[1]),z[0]),reverse=True)
    # I use this to sort it

语法可能有误,但那是因为我不想将我的整个代码用作示例

1 个答案:

答案 0 :(得分:2)

csv.reader可以被视为列表列表。外部列表给出行,而内部列表给出单元格,例如

one, two, three
four, five, six

变为

[ ["one", "two", "three"],
  ["four", "five", "six"] ]

您可以看到line是一个列表,而不是字符串,因此没有stripreplace方法!看起来你想要做的是:

for line in sort:
    print(" ".join(line))

将产生:

one two three
four five six