Python实例题:Python操作excel自动化开发
目录
Python实例题
题目
安装依赖库
示例代码
代码解释
写入 Excel 文件:
读取 Excel 文件:
修改 Excel 文件:
运行思路
注意事项
Python实例题
题目
Python操作excel自动化开发
安装依赖库
pip install openpyxl
示例代码
import openpyxl
from openpyxl.utils import get_column_letter# 写入 Excel 文件
def write_to_excel(file_path, data):"""写入数据到 Excel 文件:param file_path: Excel 文件路径:param data: 要写入的数据,二维列表形式"""workbook = openpyxl.Workbook()sheet = workbook.activefor row_index, row_data in enumerate(data, start=1):for col_index, cell_value in enumerate(row_data, start=1):col_letter = get_column_letter(col_index)cell = f'{col_letter}{row_index}'sheet[cell] = cell_valueworkbook.save(file_path)print(f"数据已写入 {file_path}")# 读取 Excel 文件
def read_from_excel(file_path):"""从 Excel 文件中读取数据:param file_path: Excel 文件路径:return: 读取的数据,二维列表形式"""workbook = openpyxl.load_workbook(file_path)sheet = workbook.activedata = []for row in sheet.iter_rows(values_only=True):data.append(list(row))return data# 修改 Excel 文件
def modify_excel(file_path, row_index, col_index, new_value):"""修改 Excel 文件中的指定单元格:param file_path: Excel 文件路径:param row_index: 行索引(从 1 开始):param col_index: 列索引(从 1 开始):param new_value: 新的值"""workbook = openpyxl.load_workbook(file_path)sheet = workbook.activecol_letter = get_column_letter(col_index)cell = f'{col_letter}{row_index}'sheet[cell] = new_valueworkbook.save(file_path)print(f"已将 {cell} 单元格的值修改为 {new_value}")if __name__ == "__main__":# 示例数据sample_data = [["姓名", "年龄", "城市"],["张三", 25, "北京"],["李四", 30, "上海"],["王五", 22, "广州"]]# 写入数据到 Excel 文件file_path = "example.xlsx"write_to_excel(file_path, sample_data)# 读取 Excel 文件中的数据read_data = read_from_excel(file_path)print("读取的数据:")for row in read_data:print(row)# 修改 Excel 文件中的数据modify_excel(file_path, 2, 2, 26)
代码解释
-
写入 Excel 文件:
write_to_excel
函数接收文件路径和要写入的数据。创建一个新的工作簿和工作表,遍历数据并将其逐行逐列写入工作表中,最后保存工作簿。
-
读取 Excel 文件:
read_from_excel
函数接收文件路径,加载指定的工作簿和工作表,使用iter_rows
方法遍历工作表中的每一行,将每行数据添加到结果列表中并返回。
-
修改 Excel 文件:
modify_excel
函数接收文件路径、行索引、列索引和新的值。加载工作簿和工作表,根据行列索引定位到指定单元格,将其值修改为新的值,最后保存工作簿。
运行思路
将上述代码保存为 excel_automation.py
文件,在终端中运行:
python excel_automation.py
运行后,会在当前目录下生成一个名为 example.xlsx
的 Excel 文件,包含示例数据。然后读取该文件中的数据并打印出来,最后修改指定单元格的值。
注意事项
openpyxl
主要用于处理.xlsx
格式的 Excel 文件,如果需要处理.xls
格式的文件,可以使用xlrd
和xlwt
库。- 在操作 Excel 文件时,要确保文件没有被其他程序占用,否则可能会出现文件读写错误。