写Excel
import xlrd(读) ,xlwt(写),xultils(修改数据)
写Excel
import xlwt book = xlwt.Workbook() sheet = book.add_sheet('sheet') sheet.write(0,0,'学生姓名')#行,列 book.save("student.xls")#wps结尾用xls,用别的会打不开
修改
from xultils import copy
book = xlrd.open_workbook('xxx.xls')
new = new_book.get_sheet(0)
sheet.write(0,0'x')
new_book.save('xxx.xls')
练习:
data = {
'1':['小花',99,100,85,96.2],#
'2':['小王',90,70,85,43],
'3':['小明',80,70.3,53,99.2]
}
写到Excel,
'编号','姓名','语文成绩','数学成绩','英语成绩','总分','平均分数'为tattle
data = { '1':['小花',99,100,85,],# '2':['小王',90,70,85], '3':['小明',80,70.3,53] } #处理表头 row = 0 #固定行,只是列不一样,需要固定行,写列,用循环这个数组,写进去,行用row,,固定从0开始 title = ['编号','姓名','语文成绩','数学成绩','英语成绩','总分','平均分数'] for t in title: sheet.write(0,row,t) row+=1 row =1 #行号从1还是 for k,v in data.items():#行号 v.insert(0,k)#插入学号 col = 0#插入列 sum_scroe = sum(v[2:])#从第二个2开开始取树 agv_score = (round(sum_scroe/3)) v.append(sum_scroe) v.append(agv_score) for vaules in v: sheet.write(row,col,vaules)# 在写入数据, col+=1 row+=1 book.save('student.xls')
读数据
import xlrd book = xlrd.open_workbook('student.xls') #sheet = book.sheet_by_index(0)#下标 sheet=book.sheet_by_name('sheet1')#名字 print(sheet.col_values(1))#取整列的 print(sheet.row_values(1))#取整行的数据 print(sheet.ncols)#多少行 print(sheet.ncols)#取多少列 result=(sheet.cell(1,2).value)#指定的单元格 print(result)
倒入模块的时候,会出现.不出来数据,是因为init这个模块没有写东西