#2
siwei19952020-02-11 12:16
|
程序代码:
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编辑过]