在Python中打印csv文件中的选定列

时间:2016-11-24 02:20:23

标签: python csv

我在这里有一些代码:

with open("dsasa.csv", 'rb') as csvfile:
content = csv.reader(csvfile, delimiter='|')
for row in content:
    print row```

我想按照以下格式从csv文件中打印第2,3,4列:

4556 | 432432898904 | Joseph Henry
4544 | 54522238904 | Mark Mulligan

我遇到两个问题。一个是分隔符管道(|)没有出现在列之间。第二个问题是我无法通过手动方式打印我想要的特定列,即。 print row[2], row[3], row[4]

我查看了在线信息并尝试了一些不同的解决方案,但我似乎无法找到让它工作的路线。

非常感谢任何帮助。

谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

with open("dsasa.csv", 'rb') as csvfile:
    content = csv.reader(csvfile)
    for row in content:
        print "|".join([row[2],row[3],row[4]])

delimiter中的csv.reader参数指的是输入文件而不是输出。

答案 1 :(得分:0)

作为分隔符的列之间出现了什么?你确定它是' |'而不是逗号?我猜是因为你没有正确的分隔符你不能使用print row [2],row [3],row [4]。你可以发一行CSV吗?