注册 登录
编程论坛 Python论坛

如何将EXCEL表和mysql数据库表中匹配的字段导入数据库中?

huangyz_xy 发布于 2020-02-01 20:56, 1769 次点击
比如查询出来excel表中的有字段:['A', 'C', 'D, 'F'] 列表类型
      
程序代码:

            bk = xlrd.open_workbook(self.FilePath.toPlainText())    # 打开选中的Excel文件
            sh = bk.sheet_by_name(self.SheetName.currentText())     #激活选中的Sheet表格
            row_num = sh.nrows            #总行数
            # print(row_num)
            data_list = []                #定义列表
            #for i in range(1, row_num):   #从内容第一行(逻辑为0)开始循环
            for i in range(0, 1):          # 输出第一行(表头),列表形式
                row_data = sh.row_values(i)   #行内容列表
      

            
同时知道mysql数据库的表中有如下字段:['A', 'B', 'C', 'D'](table_name为追加之前用户选定,变量)
      
程序代码:

            sql = 'select * from %s'%(table_name)   
            cur.execute(sql)
            col_name_list = [tuple[0] for tuple in cur.description]
      

            
通过匹配发现源表和目标表只有3个匹配字段,有时可能更少,如何将excel表中和数据库表中匹配的A,C,D列追加到数据库table_name表中的A,C,D列呢?
程序代码:

            pipei=[]
            for i in range(len(row_data)):
                if row_data[i] in col_name_list:      #  逐个判断源表字段是否存在于数据库表中
                    pipei.append(row_data[i])         #  将匹配字段添加到列表“pipei”中

            

[此贴子已经被作者于2020-2-1 21:08编辑过]

2 回复
#2
siwei19952020-02-11 12:16
收藏了。谢谢
#3
phiplato2020-04-24 22:43
用pandas速度会更快
1