import xlrd,xlsxwriter,mysql.connector,time
oldwb = xlrd.open_workbook(r'D:\工作资料\统计数据\old.xlsx')
oldws = oldwb.sheets()[0]
newwb = xlsxwriter.Workbook(r'D:\工作资料\统计数据\result.xlsx')
newws = newwb.add_worksheet('userId')
def getConn():
# 连接数据库
conn = mysql.connector.connect(user='root', password='mysql', host='localhost',database='waterway')
return conn
conn = getConn()
cursor = conn.cursor()
for rownum in range(1,oldws.nrows):
mac = oldws.row(rownum)[1].value
sql = 'select userId from equipmentinfo where equipmentMac = "' + mac +'"'
print('sql is %s' %sql)
cursor.execute(sql)
userIds = ''
for r in cursor.fetchall():
userIds = userIds.join([r[0],','])
if userIds.endswith(','):
userIds = userIds[:-1]
print('userIds is %s' %userIds)
newws.write(rownum, 0, userIds)
newwb.close()
cursor.close()
conn.close()
使用xlrd模块,读取excel中的值,但是在使用oldws.put_cell()方法时,发现excel 2007以上版本,数据保存不上,使用xlwt模块,结果保存的文件打不开。经过一番折腾,选择了xlsxwrite.
使用了xlsxwrite模块,创建新的worksheet,把数据通过newws.write()写入到excel中。