| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1577 人关注过本帖
标题:如何将EXCEL表和mysql数据库表中匹配的字段导入数据库中?
只看楼主 加入收藏
huangyz_xy
Rank: 2
等 级:论坛游民
帖 子:101
专家分:30
注 册:2016-10-2
结帖率:77.78%
收藏
 问题点数:0 回复次数:2 
如何将EXCEL表和mysql数据库表中匹配的字段导入数据库中?
比如查询出来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编辑过]

搜索更多相关主题的帖子: EXCEL 匹配 数据库 列表 字段 
2020-02-01 20:56
siwei1995
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-2-11
收藏
得分:0 
收藏了。谢谢
2020-02-11 12:16
phiplato
Rank: 2
等 级:新手上路
威 望:3
帖 子:22
专家分:7
注 册:2020-4-24
收藏
得分:0 
用pandas速度会更快
2020-04-24 22:43
快速回复:如何将EXCEL表和mysql数据库表中匹配的字段导入数据库中?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.106339 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved