Excel文件是办公中常用的格式,然而手动操作Excel文件容易出现错误,同时也比较耗时,这时候使用Python的openpyxl库对Excel文件进行操作可以提高效率,减少错误。openpyxl库中提供了大量的方法和属性,可以用于对Excel文件进行创建、读取、修改、保存等操作。
如果我们想要在已有的工作簿中添加一个新的工作表,我们可以使用openpyxl库中的load_workbook
函数加载现有的工作簿,再使用create_sheet
方法创建一个新的工作表,最后使用save
方法将工作簿保存。具体代码如下:
from openpyxl import load_workbook # 加载现有的工作簿 wb = load_workbook('existing_workbook.xlsx') # 创建一个新的工作表 ws = wb.create_sheet("New Sheet") # 保存工作簿 wb.save('existing_workbook.xlsx')
我们可以使用create_sheet
方法的title
参数来给工作表设置名称,具体代码如下:
from openpyxl import Workbook # 创建一个工作簿 wb = Workbook() # 创建一个新的工作表,并设置名称 ws = wb.create_sheet("New Sheet") # 保存工作簿 wb.save("example.xlsx")
我们可以使用append
方法将数据添加到工作表中,具体代码如下:
from openpyxl import Workbook # 创建一个工作簿 wb = Workbook() # 创建一个新的工作表 ws = wb.create_sheet("New Sheet") # 给工作表添加数据 ws.append(["Name", "Age", "Gender"]) ws.append(["Tom", 18, "Male"]) ws.append(["Lily", 20, "Female"]) # 保存工作簿 wb.save("example.xlsx")
我们可以使用cell
方法来获取指定单元格,并使用value
属性为单元格赋值,具体代码如下:
from openpyxl import Workbook # 创建一个工作簿 wb = Workbook() # 创建一个新的工作表 ws = wb.create_sheet("New Sheet") # 给单元格赋值 ws.cell(row=1, column=1, value="Name") ws.cell(row=1, column=2, value="Age") ws.cell(row=1, column=3, value="Gender") ws.cell(row=2, column=1, value="Tom") ws.cell(row=2, column=2, value=18) ws.cell(row=2, column=3, value="Male") ws.cell(row=3, column=1, value="Lily") ws.cell(row=3, column=2, value=20) ws.cell(row=3, column=3, value="Female") # 保存工作簿 wb.save("example.xlsx")
我们可以使用openpyxl库中的styles
模块来设置单元格的样式,具体代码如下:
from openpyxl import Workbook from openpyxl.styles import Font, Alignment # 创建一个工作簿 wb = Workbook() # 创建一个新的工作表 ws = wb.create_sheet("New Sheet") # 给单元格赋值 ws.cell(row=1, column=1, value="Name") ws.cell(row=1, column=2, value="Age") ws.cell(row=1, column=3, value="Gender") ws.cell(row=2, column=1, value="Tom") ws.cell(row=2, column=2, value=18) ws.cell(row=2, column=3, value="Male") ws.cell(row=3, column=1, value="Lily") ws.cell(row=3, column=2, value=20) ws.cell(row=3, column=3, value="Female") # 设置单元格样式 font = Font(bold=True, color="red") alignment = Alignment(horizontal="center", vertical="center") ws["A1"].font = font ws["B1"].font = font ws["C1"].font = font ws["A1"].alignment = alignment ws["B1"].alignment = alignment ws["C1"].alignment = alignment # 保存工作簿 wb.save("example.xlsx")
我们可以使用openpyxl
库中的load_workbook
函数加载Excel文件,然后使用active
属性或者sheet_by_name
方法获取工作表对象,最后使用cell
方法获取指定单元格的值,具体代码如下:
from openpyxl import load_workbook # 加载Excel文件 wb = load_workbook("example.xlsx") # 获取工作表对象 ws = wb.active # 获取单元格的值 name = ws.cell(row=2, column=1).value age = ws.cell(row=2, column=2).value gender = ws.cell(row=2, column=3).value # 输出单元格的值 print(f"Name: {name}") print(f"Age: {age}") print(f"Gender: {gender}")
我们可以使用循环遍历工作表中的数据,然后根据条件筛选满足条件的数据,具体代码如下:
from openpyxl import load_workbook # 加载Excel文件 wb = load_workbook("example.xlsx") # 获取工作表对象 ws = wb.active # 根据条件读取数据 for row in range(2, ws.max_row + 1): name = ws.cell(row=row, column=1).value age = ws.cell(row=row, column=2).value gender = ws.cell(row=row, column=3).value if age > 18: print(f"Name: {name}") print(f"Age: {age}") print(f"Gender: {gender}")
我们可以先读取Excel文件中的数据,将其转换为数字类型,然后进行计算,具体代码如下:
from openpyxl import load_workbook # 加载Excel文件 wb = load_workbook("example.xlsx") # 获取工作表对象 ws = wb.active # 计算平均年龄 total_age = 0 count = 0 for row in range(2, ws.max_row + 1): age = ws.cell(row=row, column=2).value if age is not None: total_age += int(age) count += 1 if count > 0: average_age = total_age / count print(f"Average age: {average_age}")
Python的openpyxl库提供了大量的方法和属性,可以用于对Excel文件进行创建、读取、修改、保存等操作,我们可以使用这个库来快速、准确地操作Excel文件,提高工作效率。
如果您还有其他关于Excel文件的问题,可以在下面的评论区留言,我会尽快回复。同时,如果您觉得这篇文章对您有帮助,也欢迎点赞、关注和分享。
感谢您的观看!