我没能做到回复subcsv文件。 我的表情是做它的工作,但作家是我卡住的地方。你知道吗
re.sub out
"A1","Address2" "A1","Address2"
0138,"DEERFIELD AVE" 0138,"DEERFIELD"
0490,"REMMINGTON COURT" 0490,"REMMINGTON"
2039,"SANDHILL DR" 2039,"SANDHILL"
import csv
import re
with open('aa_street.txt', 'rb') as f:
reader = csv.reader(f)
read=csv.reader(f)
for row in read:
row_one = re.sub('\s+(DR|COURT|AVE|)\s*$', ' ', row[1])
row_zero = row[0]
print row_one
for row in reader:
print writerow([row[0],row[1]])
也许你需要这样的东西?你知道吗
一个文件就是一个迭代器,你在上面迭代一次,它就空了。你知道吗
csv.reader
也是迭代器。你知道吗通常,如果要重用迭代器,有三种方法:
open
文件。你知道吗itertools.tee
。你知道吗在文件的特殊情况下,可以使用
f.seek(0)
伪造#1。其他一些迭代器也有类似的行为。但总的来说,你不应该依赖这个。你知道吗总之,最后一个是最简单的,让我们看看它是如何工作的:
现在您已经有了文件中所有行的列表。你可以复制它,循环它,循环复制,关闭文件,再次循环复制,它仍然在那里。你知道吗
当然,不利的一面是你需要足够的内存来把整件事放到内存中(另外,在读完最后一行之前,你不能开始处理第一行)。如果这是一个问题,您需要重新组织代码以便只需要一次传递,或者重新打开(或者
seek
)文件。你知道吗相关问题 更多 >
编程相关推荐