我下载许多HTML存储在操作系统,现在得到他们的内容,并提取数据我需要持久化到MySQL, 我使用传统的加载文件一个接一个,它不是效率成本nealy 8分钟。如何快速阅读与python 25K小txt文件内容
任何意见,欢迎
g_fields=[
'name',
'price',
'productid',
'site',
'link',
'smallImage',
'bigImage',
'description',
'createdOn',
'modifiedOn',
'size',
'weight',
'wrap',
'material',
'packagingCount',
'stock',
'location',
'popularity',
'inStock',
'categories',
] @cost_time
def batch_xml2csv():
"批量将xml导入到一个csv文件中"
delete(g_xml2csv_file)
f=open(g_xml2csv_file,"a")
import os.path
import mmap
for file in glob.glob(g_filter):
print "读入%s"%file
ff=open(file,"r+")
size=os.path.getsize(file)
data=mmap.mmap(ff.fileno(),size)
s=pq(data.read(size))
data.close()
ff.close()
#s=pq(open(file,"r").read())
line=[]
for field in g_fields:
r=s("field[@name='%s']"%field).text()
if r is None:
line.append("\N")
else:
line.append('"%s"'%r.replace('"','\"'))
f.write(",".join(line)+"\n")
f.close()
print "done!"
我尝试的mmap,它似乎没有工作
@mlzboy:代码和分析数据将有所帮助。 – pyfunc 2010-10-07 05:27:34
您的缩进填满了。 – 2010-10-07 07:07:56
平均和最大的'小文本文件'的大小是多少? – spenthil 2010-10-07 07:31:54