【发布时间】:2012-10-01 20:58:57
【问题描述】:
我有这段代码,它将在文件中查找某些内容。该文件如下所示:
name;lastname;job;5465465
name2;lastname2;job2;5465465
name3;lastname3;job3;5465465
这是python代码:
import re
import sys
filehandle = open('somefile.csv', 'r')
text = filehandle.read()
b = re.search("([a-zA-Z]+);([a-z\sA-Z]+);([a-zA-Z]*);([0-9^-]+)\n?",text)
print (b.group(2),b.group(1),b.group(3),b.group(4))
不,它只会打印:
lastname;name;job;5465465
它应该先打印姓氏,所以我对组进行了此操作。现在我需要一个循环来打印这样的所有行:
lastname;name;job;5465465
lastname2;name2;job2;5465465
lastname3;name3;job3;5465465l
我尝试了所有类型的循环,但它并没有遍历整个文件......我需要怎么做?
必须通过 re 模块来完成。我知道它在 csv 模块中很容易;)
【问题讨论】:
-
为什么需要使用re?好吧,你也可以使用 split 来分号分割。
标签: python regex search loops findall