python openpyxl详细用法,给出例子
时间: 2023-03-09 16:50:40 浏览: 146
Openpyxl是一个Python库,可以用来读取和写入Excel文件。它支持Excel 2003,2007和2010文件格式中的工作表。
例如:
import openpyxl# 打开文件
wb = openpyxl.load_workbook('example.xlsx')# 获取工作表
sheet = wb.get_sheet_by_name('Sheet1')# 获取单元格
cell = sheet['A1']# 获取单元格的值
value = cell.value# 修改单元格的值
cell.value = 'new value'# 保存文件
wb.save('example.xlsx')
相关问题
macpython openpyxl
### 安装环境配置
为了在Mac上使用Python和`openpyxl`库处理Excel文件,需先安装Python以及pip工具。通常情况下,最新版本的macOS已经预装了Python;然而对于特定需求或是更新至更高版本,则可能需要手动下载并安装Anaconda或Miniconda来简化包管理过程。
随后,在终端执行命令以安装`openpyxl`:
```bash
pip install openpyxl
```
确保所使用的Python环境中已成功安装该库[^1]。
### 创建与保存工作簿
下面展示一段简单的代码用于创建新的Excel文档,并向其中写入一些基础数据后保存到本地磁盘指定路径下:
```python
from openpyxl import Workbook
wb = Workbook() # 新建一个空白的工作簿对象
ws = wb.active # 获取当前活动的工作表
ws.title = "Sheet1" # 设置工作表名称
# 向A1单元格内输入字符串'Hello'
ws['A1'] = 'Hello'
# 将B列第2行设为数值型数据42
ws.cell(row=2, column=2).value = 42
# 另一种方式设定C3位置的内容
c = ws.cell(column=3, row=3, value="world")
# 文件名可自定义,此处命名为example.xlsx
file_path = '/Users/yourname/Desktop/example.xlsx'
wb.save(file_path)
print(f'Saved to {file_path}')
```
此段脚本会生成名为`example.xlsx`的新文件于桌面目录中[^4]。
### 加载现有文件
当要打开已有`.xlsx`格式文件时,可以通过如下方法加载它:
```python
from openpyxl import load_workbook
existing_file = "/path/to/existing/file.xlsx"
work_book = load_workbook(existing_file)
for sheet_name in work_book.sheetnames:
print(sheet_name)
active_sheet = work_book.active
cell_value = active_sheet["A1"].value
print(cell_value)
```
上述例子展示了如何读取给定路径下的Excel文件中的所有工作表名字及其第一个单元格(A1)内的值[^2]。
### 数据脱敏实践
考虑到隐私保护的重要性,在某些应用场景里或许还需要对敏感信息做适当遮蔽处理。比如替换身份证号码、电话号码等字段的部分字符为星号(*)或其他符号。这里给出一个简单示例说明怎样利用Pandas配合OpenPyXL完成这项任务:
```python
import pandas as pd
from openpyxl import load_workbook
def mask_id_number(id_num):
""" 对身份证号中间部分进行隐藏 """
masked_part = '*' * (len(id_num)-8)
return f"{id_num[:4]}{masked_part}{id_num[-4:]}"
dataframe = pd.read_excel('/input/path/input_data.xlsx')
if 'ID_Number' in dataframe.columns:
dataframe['ID_Number'] = dataframe['ID_Number'].apply(mask_id_number)
output_writer = pd.ExcelWriter('/output/path/output_data.xlsx', engine='openpyxl')
dataframe.to_excel(output_writer, index=False)
output_writer.close()
```
这段程序实现了从源文件读取表格内容并对特定列应用匿名化函数后再另存新副本的功能[^3]。
python openpyxl输出pdf
要将 Excel 表格输出为 PDF 文件,可以使用 openpyxl 库将 Excel 表格读入到 Python 中,然后使用 ReportLab 库将其输出为 PDF 文件。以下是一个基本的示例代码:
```python
from openpyxl import load_workbook
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas
# 加载 Excel 文件并获取工作表
workbook = load_workbook(filename='example.xlsx')
sheet = workbook.active
# 创建 PDF 文件并设置页面大小
pdf_file = 'example.pdf'
pdf_canvas = canvas.Canvas(pdf_file, pagesize=letter)
# 获取单元格值并写入 PDF 文件中
x, y = 50, 750
for row in sheet.iter_rows():
for cell in row:
pdf_canvas.drawString(x, y, str(cell.value))
x += 100
x = 50
y -= 20
# 保存并关闭 PDF 文件和 Excel 工作簿
pdf_canvas.save()
workbook.close()
```
在这个例子中,我们首先加载 Excel 文件并获取活动工作表。然后,我们创建一个 PDF 文件并设置页面大小。接下来,我们使用 `iter_rows()` 方法遍历工作表单元格,并将单元格值写入 PDF 文件中。最后,我们保存并关闭 PDF 文件和 Excel 工作簿。
请注意,此示例仅演示了如何将 Excel 表格输出为 PDF 文件,你可能需要对代码进行修改以满足你的具体需求。
阅读全文
相关推荐















