Python-Excel表格:openpyxl

目录

1.安装 openpyxl

2.打开 xlsx 文件

3.工作表

4.读取

5.写入


文件必须是 xlsx 格式

1.安装 openpyxl

pip install openpyxl

2.打开 xlsx 文件

# 新建文件
from openpyxl import Workbook 
wb = Workbook()

# 打开已有文件
from openpyxl import load_workbook
wb = load_workbook('filename.xlsx')

# 保存文件
wb.save('filename.xlsx')

3.工作表

  • 对文件操作之前,先选定工作表

# 一般来说,表格大多数用到的是打开时显示的工作表,这时可以用active来获取当前工作表
sheet = wb.active

# 创建新的工作表
sheet1 = wb.create_sheet()  # 默认在最后插入
sheet2 = wb.create_sheet(0) # 在开头插入

# 获取所有工作表名(返回一个列表)
sheets = wb.get_sheet_names()

# 获取指定的工作表
sheet3 = wb.get_sheet_by_name('Sheet')

# 获取工作表的表名
sheet3_name = sheet.title

# 设定工作表的名字
sheet3.title = 'MySheet' 

# 删除工作表 
wb.remove(sheet3)

4.读取

  • 获取单元格数据:
    # 通过sheet[列行名]获取
    a1 = sheet['A1']
    
    # 通过sheet.cell(row, column)获取
    b1 = sheet.cell(1, 2)  # 即sheet['B1']
    # 参数 row, column 分别是行和列,且必须为整数,如果列为英文字母,需转换
    # 对列进行字母/数字转化
    from openpyxl.utils import get_column_letter, column_index_from_string
    num = column_index_from_string('B')  # num = 2
    char = get_column_letter(2)          # char = 'B'
    
    # 获取单元格内容
    print(a1.value)
    
    # 获取单元格所在列和行
    print(a1.column, a1.row)
  • 获取行和列:

    • sheet.rows:每一行数据

    • sheet.columns:每一列数据

      # 对行进行遍历,输出A1,B1,C1
      for row in sheet.rows:
          for cell in row:
              print(cell.value)
      
      # 对列进行遍历,输出A1,A2,A3
      for column in sheet.columns:
          for cell in column:
              print(cell.value)

5.写入

# 写入单元格
sheet['A1'].value = 2

# 写入一行
row = [1 ,2, 3, 4, 5]
sheet.append(row)

# 写入多行
rows = [
    ['ID', 'Name', 'Department'],
    ['001', 'Lee','CS'],
    ['002', 'John','MA'],
    ['003', 'Amy','IS']
]
sheet.append(rows)

你可能感兴趣的:(python)