学习是一个逐步发现自己无知的过程!

Python操作Excel

目前常用的模块

下图中常见的模块可以作为了解。

file

excel常用操作

from openpyxl import load_workbook

load = load_workbook('new_excel.xlsx')  # 读取一个excel文件
works = load.active  # 默认工作表
load.create_sheet('工作表2')  # 创建工作表2
works = load.['工作表2']  # 指定操作的工作表

print(load.sheetnames)  # 查看excel文件中的工作表
works.move_range('A1:D7', rows=2, cols=3)  # 将A1-D7向右移动3列向下移动2行
works.insert_cols(2)  # 在第二列插入空行
works.insert_rows(3)  # 在第三行插入空行
works.merge_cells('A1:D1')  # 合并单元格
print(works['A2'].value)  # 显示工作表A2的内容
works['A2'].value = 'test1'  # 修改工作表A2的内容

load.save('new1_excel.xlsx')  # 修改内容必须保存生效

创建一个简单的工作表

from openpyxl import Workbook

read = Workbook()
works = read.active
works.title = '测试表1'  # 默认工作表名称修改

works.append(['测试用户名', '密码', '备注'])  # 新增一行内容

read.save('new_excel.xlsx')

读取excel表格中,指定行/列

from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

load = load_workbook('new_excel.xlsx')  # 读取excel文件
works = load.active

for row in range(1, 7):  # 读取内容总行
    for col in range(1, 4):  # 读取内容总列
        char = get_column_letter(col)
        print(works[char + str(row)].value)

有一个列表,将里面的内容写入到excel表格

data = [
    {
        'name': '大白',
        'tall': 175,
        'age': 22,
        'weight': 90
    },
    {
        'name': '大黄',
        'tall': 185,
        'age': 25,
        'weight': 60
    },
    {
        'name': '小红',
        'tall': 165,
        'age': 21,
        'weight': 44
    },
    {
        'name': '小黄',
        'tall': 145,
        'age': 26,
        'weight': 40
    },
        {
        'name': '花花',
        'tall': 165,
        'age': 28,
        'weight': 50
    }

]

from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Font

worb = Workbook()
work = worb.active
work = work.title = '用户表'

title = ['姓名','身高','年纪','体重']
work.append(title)

for person in data:
    work.append(list(person.values()))

for col in range(2,5):
    char = get_column_letter(col)  # 将索引转换为字母
    work[char + '7'] = f'=AVERAGE({char + "2"}:{char + "6"})'

for col in range(1,5):
    char = get_column_letter(col)
    work[char + '1'].font = Font(bold=True)  # 第一行内容文字加粗

worb.save('user.xlsx')

其他相关操作

关键代码 相关描述
cell(row, column, value) 写入数据,三个参数分别是行,列,值
cell(row, column).value 获取指定单元格的值,两个参数分别是行,列
workbook.remove('表单名') 删除表单
del workbook['表单名'] 删除表单
workbook.save('文件名') 保存工作簿
sheet.max_row 获取表单数据的总行数
sheet.max_column 获取表单数据的总列数
sheet.rows 获取按行所有的数据
sheet.columns 获取按列所有的数据
赞(0)
未经允许不得转载:劉大帥 » Python操作Excel

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册