杰瑞科技汇

Python openpyxl如何实现文件下载?

什么是 openpyxl

openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库,它功能强大,支持样式、图表、图片、公式等高级功能,是 Python 操作 Excel 文件最常用的库之一。

Python openpyxl如何实现文件下载?-图1
(图片来源网络,侵删)

如何下载(安装)openpyxl

您需要使用 Python 的包管理工具 pip 来安装 openpyxl

推荐方法:使用 pip 安装(最常用)

打开您的终端(在 Windows 上是命令提示符 cmd 或 PowerShell,在 macOS 或 Linux 上是 Terminal),然后输入以下命令:

pip install openpyxl

如果遇到权限问题(尤其是在 macOS 或 Linux 上),可以尝试使用 --user 标志,这会将包安装到用户目录下,而无需管理员权限:

pip install --user openpyxl

如果您的系统中有多个 Python 版本,确保您使用的是正确的 pip,如果您使用的是 Python 3,命令可能是:

Python openpyxl如何实现文件下载?-图2
(图片来源网络,侵删)
pip3 install openpyxl

或者,为了确保使用的是特定 Python 环境的 pip(例如虚拟环境),可以:

python -m pip install openpyxl

验证安装

安装完成后,您可以通过在 Python 环境中导入该库来验证是否安装成功。

打开 Python 解释器(在终端输入 pythonpython3),然后运行:

import openpyxl
# 查看安装的版本号
print(openpyxl.__version__)

如果程序没有报错,并打印出了版本号(1.2),说明 openpyxl 已经成功安装。

Python openpyxl如何实现文件下载?-图3
(图片来源网络,侵删)

基本使用示例

安装完成后,您就可以开始使用 openpyxl 来操作 Excel 文件了,这里有几个最基本、最常用的示例。

示例 1:创建一个新的 Excel 文件并写入数据

# 1. 导入 openpyxl 库
import openpyxl
from openpyxl.styles import Font
# 2. 创建一个新的工作簿
wb = openpyxl.Workbook()
# 3. 获取当前活跃的工作表(默认创建时会创建一个名为 'Sheet' 的工作表)
ws = wb.active
# 4. 给工作表重命名= "产品销售表"
# 5. 写入数据到单元格
# 可以直接给单元格赋值
ws['A1'] = '产品名称'
ws['B1'] = '销售数量'
ws['C1'] = '单价'
ws['D1'] = '总价'
# 也可以使用行和列的索引(从1开始)
ws.cell(row=2, column=1, value='苹果')
ws.cell(row=2, column=2, value=50)
ws.cell(row=2, column=3, value=8.5)
# 6. 使用公式
ws['D2'] = '=B2*C2'
# 7. 设置单元格样式(将标题加粗)
bold_font = Font(bold=True)
ws['A1'].font = bold_font
ws['B1'].font = bold_font
ws['C1'].font = bold_font
ws['D1'].font = bold_font
# 8. 保存工作簿到文件
# 如果文件不存在,则会创建;如果存在,则会覆盖
wb.save('product_sales.xlsx')
print("文件 'product_sales.xlsx' 已成功创建!")

运行这段代码后,您会在当前目录下找到一个名为 product_sales.xlsx 的文件,内容如下:

产品名称 销售数量 单价 总价
苹果 50 5 0

示例 2:读取一个已存在的 Excel 文件

假设您已经有了上面创建的 product_sales.xlsx 文件,现在要读取它。

import openpyxl
# 1. 打开一个已存在的工作簿
# 如果文件路径不对,会报 FileNotFoundError
try:
    wb = openpyxl.load_workbook('product_sales.xlsx')
    print("文件 'product_sales.xlsx' 已成功加载!")
    # 2. 获取指定名称的工作表
    ws = wb['产品销售表']
    # 3. 读取特定单元格的值
    product_name = ws['A2'].value
    quantity = ws['B2'].value
    total_price = ws['D2'].value
    print(f"读取到的数据:")
    print(f"产品名称: {product_name}")
    print(f"销售数量: {quantity}")
    print(f"总价(通过公式计算得出): {total_price}")
    # 4. 遍历整行或整列数据
    print("\n遍历第一行的所有数据(标题行):")
    for cell in ws[1]:
        print(f"单元格 {cell.coordinate} 的值是: {cell.value}")
    # 5. 遍历所有数据
    print("\n遍历整个工作表的数据:")
    for row in ws.iter_rows(values_only=True): # values_only=True 只获取值,不获取单元格对象
        print(row)
except FileNotFoundError:
    print("错误:找不到文件 'product_sales.xlsx',请确保文件在正确的路径下。")
except KeyError:
    print("错误:工作簿中不存在名为 '产品销售表' 的工作表。")

常见问题与解决方案

Q1: 安装时出现 pip 不是内部或外部命令...

原因pip 没有被添加到系统的环境变量 PATH 中。 解决

  1. 确保您已经正确安装了 Python。
  2. 在网上搜索 "如何将 Python 添加到环境变量 PATH",根据您的操作系统(Windows, macOS, Linux)进行配置。
  3. 配置完成后,重新打开终端再尝试安装。

Q2: 安装时出现 Permission denied 权限被拒绝错误

原因:在 macOS, Linux 或 Windows 的某些管理员账户下,用户没有权限直接向系统 Python 环境写入文件。 解决

  1. 使用 --user 标志:pip install --user openpyxl
  2. (不推荐)使用 sudo 提升权限(仅适用于 macOS/Linux):sudo pip install openpyxl (请谨慎使用 sudo)

Q3: 运行代码时出现 ModuleNotFoundError: No module named 'openpyxl'

原因:您在一个没有安装 openpyxl 的 Python 环境中运行代码。 解决

  1. 检查环境:确保您安装 openpyxl 的 Python 环境(您的虚拟环境)是您当前正在运行代码的环境。
  2. 重新安装:在正确的环境中重新运行安装命令。
  3. IDE/编辑器问题:如果您使用的是 VS Code, PyCharm 等编辑器,请确保编辑器使用的是正确的 Python 解释器(通常可以在设置中选择解释器)。

希望这份详细的指南能帮助您顺利下载和使用 openpyxl

分享:
扫描分享到社交APP
上一篇
下一篇