我有两个文件。一个是csv,包含搜索字符串(每行一个),另一个是一个巨大的文件,其中包含每行开始处的搜索词,但有一些额外的信息,之后我想提取。搜索文件并将搜索词的行保存到新文件
搜索项的文件被称为“search.csv”,看起来像这样:
3ksr
3ky8
2g5w
2gou
包含其他信息的文件被称为“CSA.txt”,看起来像这样:
3ksr,INFO.....
3ky8,INFO.....
2g5w,INFO.....
2gou,INFO.....
然而,它是一个非常大的文件(超过8MB),每个搜索词有不止一个出现,但每次出现的信息都不相同。我有一些示例代码:
import fileinput
import csv
csa = fileinput.input("CSA.dat", inplace=1)
pdb = csv.reader(open("search.csv"))
outfile = csv.writer(open("outfile.csv"), dielect = 'excel', delimiter = '\t')
for id in pdb:
for line in csa:
if id in str(line):
outfile.writerow([id, line])
csa.close()
但是,此代码不工作,似乎删除CSA.dat每次我试图和运行它(其归档备份),或者说“文本文件忙” 。请帮忙!提前致谢!
如果有任何方向涉及任何引用,csv模块非常方便... – bstpierre 2010-07-24 03:44:17