首页 > 技术文章 > Python 操作Excel

xiaoyichong 2019-05-29 13:46 原文

#excel操作的例子:
'''
首先导入from openpyxl import workbook,load_workbook
打开excel
excelpath="D:\\123.xlsx"
workbook = load_workbook(excelpath)
获取excel的sheet名字
sheetnames= workbook.get_sheet_names()
sheet=workbook.get_sheet_by_name(sheetnames[0])
获取最大行数和列数
rows = sheet.max_row
cols = sheet.max_column
获取某个单元格
value = sheet.cell(row=1,column=1).value
新增sheet
newsheet = workbook.create_sheet(index=0)
保存:
savePath="D:\\124.xlsx"
workbook.save(savePath)


'''
#读取Excel中的数据,用于生成SQL 脚本
from openpyxl import workbook,load_workbook


excelpath="D:\\123.xlsx"

workbook = load_workbook(excelpath)
sheetnames = workbook.get_sheet_names()
print(sheetnames)
sheet =workbook.get_sheet_by_name(sheetnames[0])
sql1=[]
sql2=[]


def createSQL(staffno):
systemCode='EMCS'
sql1.append("INSERT INTO [dbo].[ACSM_RoleMapUser]([UserOrSysGrp_id],[Role_Name],[System_Code]) VALUES('{}','{}','{}') ".format(staffno,'EMCS-PRODUCTION',systemCode))
sql2.append("INSERT INTO [dbo].[ACSM_DirtyRights]([User_id],[System_code]) VALUES ('{}','{}') ".format(staffno,systemCode))
def printAll():
file=open("D:\\123.sql",mode='w')
[file.write(sql+"\r") for sql in sql1]
[file.write(sql+"\r") for sql in sql2]
file.close()

[ createSQL(sheet.cell(row=i,column=1).value) for i in range(1216) if i>1]
workbook.close()
printAll()

推荐阅读