Web2py下,一个导入方法的通用实现

在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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值