删除凭证表科目中的上级科目的python脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除凭证表科目中的上级科目的python脚本相关的知识,希望对你有一定的参考价值。

上个礼拜,遇到一个坑爹的事情,就是经理要我把excel格式的凭证表(财务账套中的一个表)里除最末级科目的科目全删掉,这让并不精通office的我很头疼,因为单是一年的凭证有十几万条记录(手动的话从早删到晚都删不完啊)。后来我就想能不能,把excel导进mysql里,然后通过python处理呢?因为python操作mysql非常方便的事,最后经过一番构思写了个小程序来完成这件事了。

#coding=utf8
import MySQLdb

#删除凭证表中科目的上级科目,只保留科目的最末节科目

class conn:             #定义用于执行sql的类
    connect =  MySQLdb.connect("192.168.30.235","shiyan","123456","hongcheng")
    result = ""
    sql = ""

    def __init__(self,sql):
        self.sql = sql
    def exe(self):
        cur = self.connect.cursor()
        cur.execute(self.sql)
        self.result =  cur.fetchall()
        self.connect.commit()
        #self.connect.close()
        return self.result
    def __del__(self):
        pass


n = 4
leve01 = "____"        #一级科目通配符
while n != 0:        #循环遍历除一级科目的科目,从最末节科目开始往上级科目循环
    leve01 = leve01 + n*"___"
    n = n-1
    make_sql = "select * from code_14 where kmdm like \""+leve01+"\""    #加载满足条件的科目
    query01 = conn(make_sql)
    leve01 = "____"
    result1 = query01.exe()
    for list01 in result1:        #循环遍历删除当前科目的上级科目
        sjkm = list01[0][0:len(list01)-4]
        sql_del = "delete from hc14 where kmdm = \""+sjkm+"\""    #组合删除sql
        query02 = conn(sql_del).exe()
        print sql_del    #打印删除sql

print "遍历完毕!"

 

以上是关于删除凭证表科目中的上级科目的python脚本的主要内容,如果未能解决你的问题,请参考以下文章

FICOFI种常用的事务代码

会计科目分配后如何取消?

excel会计凭证表科目编号怎么根据名称饮用

用友U8要删除已使用的会计科目,应该如何在总账、采购、固定资产等系统中取消该科目,再来删除,急

用友里基础设置里会计科目设置完做了凭证以后是不是就不能修改科目?若是想修改科目的话 应该怎么办

请问SAP中的统驭科目究竟是啥意思?