我正在尝试解析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
答案 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)
您正在迭代一个字符串,每次返回一个字符。
如果您能给我们一个示例来确切了解您的意思,那将会更有帮助。