米
首页
心情
图集
所有
搜索
登录
Python将excel数据生成SQL
2021-10-18
47.13w热度
经常会接到开发或运营需要将一些excel表的数据导入到数据库,所以就写了这个脚本。 使用条件: 1.数据要在顶格开始 2.第一行是列名(英文) 3.最好每个单元格都有值,不要有空值 ``` import xlrd # pip3 install xlrd==1.2.0 class ExcelToSql(): def __init__(self,file_name,sheet_name,table_name): self.file_name = file_name self.sheet_name = sheet_name self.table_name = table_name self.excel_title = None self.excel_data = [] def read_excel(self): # 打开excel文件 work_book = xlrd.open_workbook(self.file_name) # 读取sheet文件 content = work_book.sheet_by_name(self.sheet_name) # 读取第一行数据 self.excel_title = content.row_values(0) for row in range(content.nrows-1): # 从第二行开始读数据 self.excel_data.append(list(str(val) for val in content.row_values(row+1))) def to_sql(self): sql1 = "INSERT INTO `%s`(`%s`)"%(self.table_name,"`,`".join(self.excel_title)) for row in self.excel_data: print(sql1 + " VALUES ('%s');"%("','".join(row))) def run(self): self.read_excel() self.to_sql() excel_file_name="test.xlsx" #excel文件名 excel_sheet_name = "Sheet1" #excel工作薄名,注意大小写 sql_table_name ="test" #SQL的表名 ExcelToSql(excel_file_name,excel_sheet_name,sql_table_name).run() ``` [](https://micuu.com/data/avatar/20211018/2c234928f35832439afba54676ceaa9e.png) 运行结果如下: ``` INSERT INTO `test`(`col1`,`col2`,`col3`) VALUES ('aa','1.0','4.0'); INSERT INTO `test`(`col1`,`col2`,`col3`) VALUES ('bb','2.0','5.0'); INSERT INTO `test`(`col1`,`col2`,`col3`) VALUES ('cc','3.0','6.0'); ```
注:原创不易,转载请注明出处(
http://www.micuu.com/new/2250.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-21
上一篇:
陕西新增6例本土确诊病例 新增1例本土无症状感染者 新增1例境外输入确诊病例
下一篇:
thinkphp数据库迁移
▶
珍藏视频
▶
10分钟高效燃脂
▶
30天高效瘦脸操
▶
5分钟缓解颈椎操
友人
→
微博
→
全民K歌
→
唱吧
→
今日头条
→
悠悠网
→
科技小锅盖
→
彼岸桌面
→
阮一峰
→
laravel社区
→
V2ex
→
掘金
+
更多