python 自动化办公(二)excel操作
一、安装excel库
pip install xlrd
pip install xlwt
二、excel接口
1.写操作
新建excel
#新建excel
workbook = xlwt.Workbook()
新建sheet表
#workbook.add_sheet()第二参数用于确认同一个cell单元是否可以重设值。
worksheet = workbook.add_sheet("一班",cell_overwrite_ok=True)
设置行列,写表格
name = ['','张三','李四','王五']
subject = ['','语文','数学','英语','化学']
for i in range(4):
worksheet.write(i,0,name[i])
for j in range(5):
worksheet.write(0,j,subject[j])
#向表里填分数
for i in range(1,4):
for j in range(1,5):
score = random.randint(60,100)
worksheet.write(i,j,score)
保存
#保存
workbook.save('成绩单.xls')
2.读操作
打开创建的excel
book = xlrd.open_workbook('成绩单.xls')
找到对应的表,进行相应的操作
sheet1 = book.sheets()[0]
获取表格的行数
nrows = sheet1.nrows #获取表格的行数
print('表格总行数',nrows)
获取表格的列数
ncols = sheet1.ncols #获取表格的列数
print('表格总列数',ncols)
获取某一行的数据()
row1_values = sheet1.row_values(1)
获取某一列的数据()
col3_values = sheet1.col_values(2)
#获取某一单元格的数据(x,y)
cell_3_3 = sheet1.cell(3,3).value
三、制作成绩单
import xlwt
import xlrd
import random
def write_excel():
#新建excel
workbook = xlwt.Workbook()
#新建sheet表
#workbook.add_sheet()第二参数用于确认同一个cell单元是否可以重设值。
worksheet = workbook.add_sheet("一班",cell_overwrite_ok=True)
#设置行列,写表格
name = ['','张三','李四','王五']
subject = ['','语文','数学','英语','化学']
for i in range(4):
worksheet.write(i,0,name[i])
for j in range(5):
worksheet.write(0,j,subject[j])
for i in range(1,4):
for j in range(1,5):
score = random.randint(60,100)
worksheet.write(i,j,score)
#保存
workbook.save('成绩单.xls')
def read_excel():
book = xlrd.open_workbook('成绩单.xls')
sheet1 = book.sheets()[0]
nrows = sheet1.nrows #获取表格的行数
print('表格总行数',nrows)
ncols = sheet1.ncols #获取表格的列数
print('表格总列数',ncols)
row1_values = sheet1.row_values(1)
print('张三的所有成绩:',row1_values)
col3_values = sheet1.col_values(2)
print('所有的语文成绩:',col3_values)
cell_3_3 = sheet1.cell(3,3).value
print('王五的英语成绩:',cell_3_3)
if __name__=="__main__":
write_excel()
read_excel()