格式化数据的最佳方式是什么?在
背景如下:
我使用nameparser来解析一个名称,这是可能的最佳方式。我构建了一个包装器,它调用nameparser,然后将解析后的名称存储在数据库(MySQL)中。在
在这种情况下,什么是最有效的方法?以下是我的方法。在
{id:{'first':'John', 'middle':'V',
'last':'Doe', 'suffix':''}
这是我的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from nameparser import HumanName
import time
cursor = db.cursor()
def name(table, id, name, first, middle, last, suffix):
cursor.execute('SELECT `' + id + '`,`' + name + '` FROM `' + table
+ '` WHERE `' + name + '` IS NOT NULL AND ' + id
+ ' IS NOT NULL')
numrows = int(cursor.rowcount)
namelist = []
namelist = cursor.fetchall()
for record in namelist:
parsed = HumanName(record[1])
parsed.capitalize()
mydict[int(record[0])] = {
'first': str(parsed.first),
'middle': str(parsed.middle),
'last': str(parsed.last),
'suffix': str(parsed.suffix),
}
mydict = {}
starttime = time.time()
split = name('NamesToParse','id','name','first','middle','last','suffix')
print mydict
print time.time() - starttime
请建议在MySQL表中存储数据的最佳方式。这就是我目前所拥有的,我仍然需要循环查看每个记录。我想知道是否有一种方法可以update
现有表,而不是先创建临时表,然后一次性更新原始表?希望我说得通。在
看起来我将采用元组列表方法,首先在临时表中插入,然后用原始表更新它们。节省的时间是惊人的。我觉得字典对这项任务来说太过分了。在
相关问题 更多 >
编程相关推荐