安装openpyxl
pip install openpyxl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
创建保存excel文件
- 创建工作簿,返回wb对象
wb = openpyxl.Workbook()
- 激活工作表
ws = wb.active
- 可以直接复制给单元格
ws["a1"] = "这是A1单元格内容"
- 可以整行添加,每次添加会跳到下一行
ws.append([a,b,c])
- 保存文件,文件会保存到当前目录下
wb.save("这是文件名")
打开excel文件
wb = openpyxl.load_workbook(r"这是excel文件路径")
获取工作表
- 查看工作表
wb.sheetnames
- 获取工作表,返回工作表对象
ws = wb["Sheet"]
创建和删除工作表
- 创建工作表,返回新的工作表对象,index指定创建的位置默认往后创建
new_ws = wb.create_sheet(index = 0,"新的工作表名")
- 删除工作表
del wb["新的工作表名"]
# 或者
wb.remove(new_ws)
定位单元格
- 定位单元格
c = nws["A2"]
- 查看单元格性质
print(c.row)
print(c.column)
print(c.coordinate)
print(c.value)
print(now_ws['A2'].value)
- 单元格移动
offset(row, column)
# 如d = c.offset(2, 1),等于从A2平移到B4
- 因为excel中的列是按照ABC排序的,所以下面方法可以返回某个数值的对应的列数
print(openpyxl.cell.cell.get_column_letter(100))
# 返回 CV
openpyxl.cell.cell.column_index_from_string('CV')
# 返回 100
访问多个单元格
返回每一行为一组的单元格对象
这样就可以访问一个范围内单元格的值了
for each_row in ws['A3':'B10']:
for each_cell in each_row:
print(each_cell.value)
遍历某一列的全部元素,
for each_row in ws.rows:# 找到所有行
print(each_row[0].value) # 打印出每一行的第一个元素
拷贝工作表
wb.copy_worksheet(ws)
对excel进行操作之后不要忘记保存,不保存是没有用的
wb.save(r"文件路径.xlsx")