首页 > 代码库 > python操作excel

python操作excel

python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。

1、读excel

 

import xlrd
步骤 :#1.打开excel
#2.选择sheet页
#3.读数据
wb = xlrd.open_workbook(‘abc.xlsx‘) # 打开的这个excel必须存在,否则会报错
# 获取所有sheet页的名字
print(wb.sheet_names())
# 按名字查找第二张表单
sheet=wb.sheet_by_name(‘sheet1‘)#根据sheet页的名字获取sheet页
sheet = wb.sheet_by_index(0) # 根据sheet页的索引获取sheet页
# 获取sheet页的行数和列数
print(sheet.nrows)#sheet页的行数
print(sheet.ncols)#sheet页的列数
# 打印每行信息
for rownum in range(sheet.nrows): # 循环取每行的数据
if rownum!=0:#不取第一行数据(表头)
print(sheet.row_values(rownum)) # 取每行的数据
print(sheet.col_values(rownum))#获取每列数据
# 按照索引打印对应单元格内容
cell_A2 = sheet.cell(0, 1).value #
获取指定单元格的值,第一个值是行,第二个值是列
print(cell_A2)

2、新建excel

 import xlwt
      #1、新建一个excel
#2、增加一个sheet页
#3、写数据

      
       # 新建一个excel对象
wbk = xlwt.Workbook()
# 添加一个名为 成绩表的sheet页
sheet = wbk.add_sheet(‘sc‘)
sheet.write(0,0,‘姓名‘)
sheet.write(0,1,‘年龄‘)
sheet.write(0,2,‘性别‘)
sheet.write(0,3,‘分数‘)
wbk.save(‘stus.xls‘)
以上操作将新建一个表头为 姓名、年龄、性别、分数的excel表格,要写入什么内容按以上格式写入即可

下面一个完整的新建一个excel程序:
title = [
‘姓名‘, ‘年龄‘, ‘性别‘, ‘分数‘
]
stus = [[‘m1‘, 20, ‘女‘, 89.9], [‘m2‘, 20, ‘女‘, 89.9], [‘m3‘, 20, ‘女‘, 89.9], [‘m4‘, 20, ‘女]]
# 新建一个excel对象
wbk = xlwt.Workbook()
# 添加一个名为 课程表的sheet页
sheet = wbk.add_sheet(‘stu‘)
for i in range(len(title)): # 写入表头
sheet.write(0, i, title[i]) # 写入每行,第一个值是行,第二个值是列,第三个是写入的值
for i in range(len(stus)):#控制行数
for j in range(4):#控制列数
sheet.write(i+1, j, stus[i][j]) # 循环写入每行数据
# 保存数据到‘test.xls’文件中
wbk.save(‘szz.xls‘) # 保存excel必须使用后缀名是.xls的,不是能是.xlsx的


3、修改excel
#1、打开excel
#2、复制
#3、修改


from xlrd import open_workbook # 导入xlrd模块中打开excel模块
from xlutils.copy import copy # 导入xlutils模块的复制excel模块
rb = open_workbook(‘123.xls‘)#只读的excel
# 复制一个excel
wb = copy(rb)
# 通过获取到新的excel里面的sheet页
ws = wb.get_sheet(0)
ws.write(1, 0, ‘kjk‘) # 写入excel,第一个值是行,第二个值是列
wb.save(‘123_new.xls‘) # 保存新的excel,


 

python操作excel