如何将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编辑过]