【Python小工具】001 读取excel表格指定列数据,转换为sql

一、背景

由于项目需要,通过提取excel表格指定列数据,将其转换为插入sql以便备用

效果:

转为

二、代码:


import xlrddef get_excel_data(excel_path, n_col):# 文件路径# 1、打开文件,获取excel文件workbook对象excel = xlrd.open_workbook(excel_path)# 2、获取所有/指定sheet对象# all_sheet = excel.sheets()sheet = excel.sheet_by_index(1)# 3、获取指定列print(f"该sheet共有{sheet.nrows}行数据")data = []for i in range(2, sheet.nrows):data.append(sheet.row_values(i)[:n_col])return dataif __name__ == '__main__':excel_path = 'title.xls'# 取前两列数据data = get_excel_data(excel_path, n_col=2)# for item in data:#     print(#         f"""insert into XXX(aaa,bbb,ccc,ddd,ee,ff) values ('2','{item[0]}','{item[1]}',null,null,null);""")with open('sqlData.sql', 'a') as f:for item in data:temp = f"""insert into XXX(aaa,bbb,ccc,ddd,ee,ff) values ('2','{item[0]}','{item[1]}',null,null,null);"""f.write(temp + "\n")

 三、本次学习注意点收获

1、提取指定行开始的数据range函数

range(start, stop[, step]) -> range object
Return an object that produces a sequence of integers from start (inclusive)
to stop (exclusive) by step.  range(i, j) produces i, i+1, i+2, ..., j-1.
start defaults to 0, and stop is omitted!  range(4) produces 0, 1, 2, 3.
These are exactly the valid indices for a list of 4 elements.
When step is given, it specifies the increment (or decrement).

start参数是开始行包含

stop参数是结束行不包含

2、f.write()函数输出一次换一行

是通过f.write(temp + "\n")拼接换行符进行换行

四、参考

python:读取Excel文件_不怕猫的耗子A的博客-CSDN博客_python读取excel


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部