当前位置:   article > 正文

python——openpyxl库_openpyxl api

openpyxl api

openpyxl库是Python中用于读取和写入Excel 2010及以上版本(.xlsx, .xlsm, .xltx, .xltm)文件的一个强大的库。它允许你创建、修改、分析Excel工作簿中的数据,支持单元格样式、公式、图表等多种特性。下面是一些核心API及其使用场景和示例,帮助你快速上手。

1. 加载和保存工作簿

API:

  • openpyxl.load_workbook(filename)
  • workbook.save(filename)

使用场景:打开现有Excel文件进行数据处理或创建新工作簿并保存。

示例:

from openpyxl import load_workbook

# 加载现有的Excel工作簿
wb = load_workbook('example.xlsx')

# 修改或添加数据后保存
wb.save('modified_example.xlsx')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2. 访问工作表

API:

  • workbook.activeworkbook['SheetName']

使用场景:获取工作簿中的活动工作表或按名称访问特定工作表。

示例:

# 获取活动工作表
active_sheet = wb.active

# 按名称访问工作表
specific_sheet = wb['Sheet1']
  • 1
  • 2
  • 3
  • 4
  • 5

3. 读取和写入单元格

API:

  • cell = sheet['A1']cell = sheet.cell(row=1, column=1)
  • cell.value = 'New Value'
  • print(cell.value)

使用场景:读取或修改工作表上的单元格数据。

示例:

# 写入数据
sheet['A1'] = 'Hello, OpenPyXL!'
# 读取数据
print(sheet['A1'].value)
  • 1
  • 2
  • 3
  • 4

4. 插入行和列

API:

  • sheet.insert_rows(index, amount=1)
  • sheet.insert_cols(index, amount=1)

使用场景:在工作表中插入新的行或列。

示例:

# 在第2行前插入一行
sheet.insert_rows(2)
  • 1
  • 2

5. 格式化单元格

API:

  • from openpyxl.styles import Font, Alignment, PatternFill
  • cell.font = Font(bold=True)
  • cell.alignment = Alignment(horizontal='center')
  • cell.fill = PatternFill(start_color='FFC7CE', end_color='FFC7CE', fill_type='solid')

使用场景:改变单元格字体、对齐方式或填充颜色等格式。

示例:

from openpyxl.styles import Font

# 加粗单元格字体
bold_font = Font(bold=True)
sheet['A1'].font = bold_font
  • 1
  • 2
  • 3
  • 4
  • 5

6. 使用公式

API:

  • 直接给单元格赋值为公式字符串,如 sheet['B2'] = '=SUM(A1:A10)'

使用场景:在单元格中应用计算公式。

示例:

sheet['B2'] = '=SUM(A1:A10)'
  • 1

7. 迭代行和列

API:

  • 使用iter_rows()iter_cols()迭代行或列。

使用场景:遍历工作表中的数据进行批量处理。

示例:

for row in sheet.iter_rows(min_row=2, values_only=True):
    print(row)
  • 1
  • 2

通过上述API及其示例,你可以开始使用openpyxl库进行Excel文件的基本操作。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/868537
推荐阅读
相关标签
  

闽ICP备14008679号