在CMS管理中,通常需要数据的批量管理维护,web2py框架天生具有这方面的优势,利用内置的控件,可以很方便的实现。
其中,批量导入excel数据,就是一个很大的需求。
把导入函数,通用化可以大大提高工作效率。
def process_excel(otherrec,fname,dbname,fileld,keylist,key,qxfunc,delall): ''' otherrec 记录单纯传入的值({字段:值,....} :param fname:excel文件名 :param dbname: 表名 fileld更新的字段清单 keylist 键值对 :param key: 更新关键字段(元组) :param qxfunc: 字段数据清洗函数名,None无函数 :param delall: 是否全删除 :return:结果 ''' import pandas as pd if delall: db.executesql('delete from %s'%dbname) db.commit() dbtable=db[dbname] rr={}#键值对 for zd in dbtable.fields: rr[dbtable[zd].label]=zd dtype={} for zd in dbtable.fields: dtype[dbtable[zd].label]='str' data=pd.read_excel(fname,dtype=dtype) #data=pd.read_excel(fname,dtype=object) #简化全部为object类型 data = data.filln