赞
踩
Ⅰ 直接使用navicat导入
tips:要导入的excel中的字段与数据库表中的字段对应好
选中数据表后,点击导入向导
选择数据源
一路next,然后出现这一步,比对导入字段是否一致
然后再一路next,即可导入数据。
Ⅱ 利用python导入
首先把要导入的excel数据表放到和py文件相同的目录
然后根据下面的代码修改自己的数据库配置和参数即可
import xlrd import pymysql class Add_Excel_Data_To_MySQL(object): """ Excel表格数据批量导入到MySQL库 """ # pymysql连接 def conn_pymysql(self, host, dbuser, dbpassword, dbname): # 连接MySQL self.conn = pymysql.connect(host=host, user=dbuser, dbpassword=dbpassword, db=dbname) # 获得游标对象, 用于逐行遍历数据库数据 self.cursor = self.conn.cursor() def excel_path(self, file_path, excel_table_name): self.excel = xlrd.open_workbook(file_path) self.sheet_name = self.excel.sheet_by_name(excel_table_name) # 循环Excel表格数据,并且写入到MySQL def for_excel_insert_mysql(self, db01, db02, db03): # 插入到MySQL self.query = "INSERT INTO geo ({}, {}, {}) VALUES (%s, %s, %s)".format(db01,db02,db03) # 创建一个for循环迭代读取xls文件每行数据的; # 从第二行开始导入; # 如果没有标题,则1改成0 for r in range(1, self.sheet_name.nrows): # 导入7列Excel数据(从第一列开始导入); # 如果导入的列增加或者减少,请根据实情; excel_01 = self.sheet_name.cell(r, 0).value, excel_02 = self.sheet_name.cell(r, 1).value, excel_03 = self.sheet_name.cell(r, 2).value, self.values = (excel_01, excel_02, excel_03) # 执行sql语句 self.cursor.execute(self.query, self.values) # 提交 self.conn.commit() # 关闭游标 self.cursor.close() # 关闭数据库连接 self.conn.close() self.columns = str(self.sheet_name.ncols) self.rows = str(self.sheet_name.nrows) print("一共导入了{}列, {}行数据!".format(self.columns, self.rows)) if __name__ == '__main__': a = Add_Excel_Data_To_MySQL() # 连接MySQL a.conn_pymysql(host="localhost",dbuser="root",dbpassword="123456",dbname="test") # Excel文件路径 a.excel_path("D:\Work-2021\py\geo.xlsx", "test") # Excel数据插入MySQL a.for_excel_insert_mysql( db01="xxx", db02="xxx", db03="xxx" )
Ⅲ 通过Excel直接生成insert语句
首先,选中Excel表格中的含有数据最后一列的下一列的第一格后,输入以下代码:
=CONCATENATE("insert into geo(gero_name,shi,quxian,address,shi_id,quxian_id) values('",A1,"','",B1,"','",C1,"','",D1,"','",E1,"','",F1,"');")
确定写好后,直接拖到最后一行,生成所有insert语句,然后将这一部分insert语句复制出来,navicat导入即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。