Python文件操作(05):Excel操作

一、sheet相关操作

1、使用sheetnames 获取execl中所有sheet页的名称

from openpyxl import load_workbook
# 打开excel文件
wb = load_workbook("files/p1.xlsx")

# sheet相关操作

# 1. 获取excel文件中所有sheet页名称
print(wb.sheetnames)  # ['数据导出', '用户列表', 'Sheet1', 'Sheet2']

2、基于sheet页名称,选择sheet页,获取页面中的具体内容

from openpyxl import load_workbook

# 打开excel文件
wb = load_workbook("files/p1.xlsx")

# 基于sheet页名称,获取某一个具体的sheet页
st = wb["数据导出"]
# 输出sheet页中某一行某一列元素的内容
cell = st.cell(2, 3)  # 获取第二行第三列的单元格
v1 = cell.value       # 取出单元格的值
print(v1)

3、基于索引位置,选择sheet页,获取页面中的具体内容

from openpyxl import load_workbook

# 打开excel文件
wb = load_workbook("files/p1.xlsx")

# 基于索引位置,获取某一个具体的sheet页
st = wb.worksheets[0]
cell_value = st.cell(2, 3).value
print(cell_value)

4、循环所有sheet页

from openpyxl import load_workbook

# 打开excel文件
wb = load_workbook("files/p1.xlsx")

# 循环所有sheet,读取每个sheet页第一行第一列内容
# 方法1
for name in wb.sheetnames:
    st = wb[name]
    cell = st.cell(1, 1)
    print(cell.value)
    
# 方法2
for name in wb.worksheets:
    cell = name.cell(1, 1)
    print(cell.value)
    
# 方法3
for name in wb:
    cell = name.cell(1, 1)
    print(cell.value)

二、读单元格

  1. 打开文件
  2. 选择sheet页
  3. 获取单元格
  4. 输出单元格内容
from openpyxl import load_workbook

# 打开文件
wb = load_workbook("files/p1.xlsx")
# 选择sheet页
st = wb.worksheets[0]

# 1. 获取第N行第N列的单元格,并输出内容
cell = st.cell(1, 1)  # 获取第1行第1列单元格
print(cell.value)  # 输出第1行第1列单元格的内容

# 2. 获取第1行所有的单元格
print(st[1])  # 输出的是元组

# 3. 输出第一行所有单元格的内容
for cell in st[1]:
    print(cell.value)

# 4. 获取所有行的数据(取某一列数据)
for row in st.rows:
    print(row[0].value, row[1].value)  # 输出每一行第1列和第2列内容

# 5. 获取所有列的数据(取某一行数据)
for col in st.columns:
    print(col[0].value)   # 输出每一列第一行内容

三、改写Execl内容

1、原Excel基础文件上写内容

from openpyxl import load_workbook

# 打开文件
wb = load_workbook("files/p1.xlsx")
# 选择sheet页
st = wb.worksheets[0]

# 找到单元格
cell = st.cell(1, 1)
# 修改单元格的内容
cell.value = "新的开始"
# 保存文件
wb.save("files/p1.xlsx")  # 修改完内容后直接保存Excel文件
# wb.save("files/p2.xlsx")  # 将Excel保存到p2.xlsx中

2、新创建Excel文件写内容

from openpyxl import workbook

# 调用Workbook对象创建Excel
wb = workbook.Workbook()  # 默认会创建一个名称为Sheet的sheet页
# 选择sheet页
st = wb.worksheets[0]

# 找到单元格
cell = st.cell(1, 1)
# 将内容写入单元格
cell.value = "开始111"
# 保存文件
wb.save("files/xx.xlsx")

你可能感兴趣的:(python,开发语言)