我是 Python 的新手,我用它来做一个丑陋的小 put-this-tabular-data-into-a-db 转换。程序查看数据,在 MySQL 中创建表,然后将数据读入表中。在本节中,检查标题行文本以对数据类型做出一些决定。我有一个想法,我可以很聪明,用一个正则表达式而不是 if/elifs 来做到这一点。我的解决方案至少适用于这种情况,我不必担心多个匹配项。我要问的是,这种方法在效率方面有什么真正的优点吗?
def _typeMe(self, header_txt):
# data typing
colspecs = {
'id':'SMALLINT(10)',
'date':'DATE',
'comments':'TEXT(4000)',
'flag':'BIT(1)',
'def':'VARCHAR(255)'
}
# regex to match on header text e.g. 'Provisioner ID'
r = re.search(re.compile('(ID$)|(Date)|(Comments$)|(FLAG$)', re.IGNORECASE), header_txt)
checktype = lambda m: max(m.groups()).lower() if m else 'def'
return colspecs[checktype(r)]