Python 3.5 CSV读取多行字段问题

时间:2016-08-23 13:59:14

标签: python csv reader

我正在尝试解析CSV文件,该文件在其中一个字段中具有多行字符串(字段6)。我可以很好地阅读该字段,但是当我尝试处理该字段中的每一行时,它一次在新行上给我一个字符而不是一次一行。我有什么想法吗?

def lookup(ip, ranges_csv):
    with open(ranges_csv, 'r') as csvIN:
        l = csv.reader(csvIN, dialect='excel')
        next(l)  # Skip the header row

        for row in l:
            for subnet in row[5]:
                print(subnet)

让我们在field6中说我们在换行时分别有192.168.0.0/24和192.168.1.0/24。我得到了这个输出:

1
9
2
.
1
6
8

而不是:

192.168.0.0/24
192.168.1.0/24

2 个答案:

答案 0 :(得分:2)

这很有意义,因为行中的每个元素都是一个字符串,当你迭代一个字符串时,你一次只能获得一个字符。

您可以拆分字符串以获得所需的结果:

for row in l:
    for subnet in row[5].split('\r\n'):
        print(subnet)

请注意:

\ r \ n表示windows中的新行,如果你使用的是linux,它应该只是\ n。

答案 1 :(得分:0)

使用时

  

表示行[5]中的子网:

   print(subnet)

您正在迭代一个字符串,每次返回一个字符。

如果您能给我们一个示例来确切了解您的意思,那将会更有帮助。