openpyxl是一个用于读取和写入Excel文件的Python库。它支持Excel 2010及以上版本的.xlsx文件格式。下面是openpyxl的一些主要功能和用法:
使用openpyxl可以读取Excel文件中的单元格、行、列和工作表等内容。可以使用load_workbook()函数打开一个Excel文件,然后使用active属性获取当前活动的工作表。例如:
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook('example.xlsx')
# 获取当前活动的工作表
ws = wb.active
# 读取单元格内容
cell = ws['A1']
print(cell.value)
# 读取行内容
row = ws[1]
for cell in row:
print(cell.value)
# 读取列内容
col = ws['A']
for cell in col:
print(cell.value)
# 读取工作表内容
for row in ws.iter_rows():
for cell in row:
print(cell.value)
使用openpyxl可以写入Excel文件中的单元格、行、列和工作表等内容。可以使用create_sheet()函数创建一个新的工作表,然后使用append()函数添加行或列。例如:
from openpyxl import Workbook
# 创建一个新的Excel文件
wb = Workbook()
# 创建一个新的工作表
ws = wb.create_sheet('Sheet1')
# 写入单元格内容
ws['A1'] = 'Hello'
ws['B1'] = 'World'
# 写入行内容
row = ['1', '2', '3']
ws.append(row)
# 写入列内容
col = ['A', 'B', 'C']
for c in col:
ws.append([c])
# 保存Excel文件
wb.save('example.xlsx')
使用openpyxl可以格式化Excel文件中的单元格、行、列和工作表等内容。可以使用Font、Alignment、Border等类设置单元格的字体、对齐方式、边框等属性。例如:
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side
# 创建一个新的Excel文件
wb = Workbook()
# 创建一个新的工作表
ws = wb.create_sheet('Sheet1')
# 设置单元格格式
ws['A1'].font = Font(name='Arial', size=14, bold=True)
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')
ws['A1'].border = Border(left=Side(border_style='thin'), right=Side(border_style='thin'), top=Side(border_style='thin'), bottom=Side(border_style='thin'))
# 保存Excel文件
wb.save('example.xlsx')
使用openpyxl可以处理Excel文件中的图表。可以使用charts模块创建图表对象,然后使用add_data()函数添加数据,使用set_categories()函数设置类别,使用set_title()函数设置标题等属性。例如:
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# 创建一个新的Excel文件
wb = Workbook()
# 创建一个新的工作表
ws = wb.create_sheet('Sheet1')
# 添加数据
data = [
['Month', 'Sales'],
['Jan', 100],
['Feb', 200],
['Mar', 300],
['Apr', 400],
['May', 500],
['Jun', 600],
]
for row in data:
ws.append(row)
# 创建图表对象
chart = BarChart()
# 添加数据
values = Reference(ws, min_col=2, min_row=1, max_row=7)
chart.add_data(values)
# 设置类别
categories = Reference(ws, min_col=1, min_row=2, max_row=7)
chart.set_categories(categories)
# 设置标题
chart.title = 'Sales by Month'
# 添加图表
ws.add_chart(chart, 'A9')
# 保存Excel文件
wb.save('example.xlsx')
以上是openpyxl的一些主要功能和用法,可以帮助你读取、写入、格式化和处理Excel文件。