最近需要读取excel中的数据写入数据库,记录一下:
my.py
# -*- coding:utf-8 -*-
import numpy as np
import xlrd #打开excel文件
# 拼接字符串函数
def editstr(row):
values = "(";
for i in range(len(row)):
if i == len(row) - 1:
values = values + "'" + str(row[i]) + "'"
else:
values = values + "'" +str(row[i]) + "',"
return values + "),"
data = xlrd.open_workbook("shr.xlsx") # 读取文件
sqlfile = open("insert.sql", "a") # 写入文件,读写方式是追加
sqlfile.writelines("insert into sw_reviewer (`user_account`,`user_name`,`full_org_path`) values ") # 添加insert头
include_list = [] # 去重
# 遍历excel中的sheet
for i in range(len(data.sheets())):
table = data.sheets()[i]
nrows = table.nrows # 行数
ncols = table.ncols # 列数
colnames = table.row_values(0) # 第一行数据
# 打印出行数列数
print('nrows:{0},ncols:{1},colnames:{2}'.format(nrows, ncols, colnames))
# 遍历sheet中除去表头的行
for ronum in range(1, nrows):
row = table.row_values(ronum)
if row[0] not in include_list:
include_list.append(row[0])
# 将行数据拼接成字符串
values = editstr(row)
# 将字符串写入新文件
sqlfile.writelines(values + "\r")
sqlfile.writelines(";")
sqlfile.close() # 关闭写入的文件
注:生成的最后一行多了个,
号 记得删除
.end