首页 > 编程知识 正文

Python自动操控Excel

时间:2023-11-19 19:20:52 阅读:287614 作者:LLJT

Excel作为一款常用的办公软件,在我们的生活和工作中扮演着重要角色。然而,在处理大量的数据时,手动操作的效率很低,这时候就需要用到Python自动操控Excel。

一、读取Excel文件

要读取Excel文件,需要安装并导入openpyxl模块。

import openpyxl

# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')

# 获取表格
sheet = wb.active

# 读取一行数据
row1 = sheet[1]
for cell in row1:
    print(cell.value)

# 读取多行数据
rows = sheet['A1:B2']
for row in rows:
    for cell in row:
        print(cell.value)

上述代码中,通过load_workbook()方法打开Excel文件,然后通过active属性获取表格。接着,可以通过下标的方式获取一行或多行数据,并通过循环遍历每个单元格,获取单元格的值。

二、写入Excel文件

要写入Excel文件,同样需要导入openpyxl模块。

import openpyxl

# 新建Excel文件
wb = openpyxl.Workbook()

# 新建表格
sheet = wb.active
sheet.title = 'Sheet1'

# 写入数据
sheet['A1'] = 'Name'
sheet['B1'] = 'Age'
sheet['C1'] = 'Gender'

sheet['A2'] = 'Tom'
sheet['B2'] = 23
sheet['C2'] = 'Male'

sheet['A3'] = 'Lily'
sheet['B3'] = 21
sheet['C3'] = 'Female'

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

上述代码中,通过Workbook()方法新建Excel文件,通过active属性获取表格,然后可以通过下标的方式写入数据到指定单元格。最后,通过save()方法将修改后的Excel文件保存。

三、格式化Excel文件

在自动操控Excel时,为了使Excel数据更加清晰易读,可以进行格式化操作。

import openpyxl
from openpyxl.styles import Font, Alignment

# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')

# 获取表格
sheet = wb.active

# 设置字体和对齐方式
font = Font(size=14, bold=True)
alignment = Alignment(horizontal='center', vertical='center')

# 格式化标题行
for cell in sheet[1]:
    cell.font = font
    cell.alignment = alignment

# 格式化数据
for row in sheet.iter_rows(min_row=2):
    for cell in row:
        cell.alignment = alignment
                                 
# 保存Excel文件
wb.save('example.xlsx')

上述代码中,通过Font和Alignment类设置字体和对齐方式,然后通过iter_rows()方法遍历数据行进行格式化。最后,保存Excel文件。

四、批量处理Excel文件

当需要对大量Excel文件进行批量处理时,可以使用os和glob模块。

import openpyxl
import os
import glob

# 获取Excel文件列表
file_list = glob.glob('*.xlsx')

# 遍历Excel文件
for file in file_list:
    # 打开Excel文件
    wb = openpyxl.load_workbook(file)

    # 获取表格
    sheet = wb.active

    # 对表格进行操作
    ...

    # 保存Excel文件
    wb.save(file)

# 合并Excel文件
merged_wb = openpyxl.Workbook()

for file in file_list:
    # 打开Excel文件
    wb = openpyxl.load_workbook(file)

    # 获取表格
    sheet = wb.active

    # 复制数据到新表格
    for row in sheet.iter_rows():
        merged_wb.active.append([cell.value for cell in row])

# 保存合并后的Excel文件
merged_wb.save('merged.xlsx')

上述代码中,通过glob.glob()方法获取Excel文件列表,然后通过os模块遍历每个Excel文件进行操作。最后,将处理完的Excel文件合并为一个新的Excel文件。

五、总结

通过Python自动操控Excel,可以大大提高Excel数据处理的效率。读取Excel文件、写入Excel文件、格式化Excel文件和批量处理Excel文件是常用的操作方式,掌握这些技能可以使我们在实践中更加得心应手。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。