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