杰瑞科技汇

如何用python openpyxl下载文件?

openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库,它非常强大且流行。

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

第一步:安装 openpyxl

在 Python 中,我们通常使用 pip(Python 的包安装程序)来安装第三方库。

打开终端/命令行

您需要打开一个命令行窗口:

  • Windows: 打开 "命令提示符" (CMD) 或 "PowerShell"。
  • macOS: 打开 "终端" (Terminal)。
  • Linux: 打开 "终端" (Terminal)。

执行安装命令

在打开的终端中,输入以下命令并按回车键:

pip install openpyxl

可能会遇到的情况:

如何用python openpyxl下载文件?-图2
(图片来源网络,侵删)
  • 如果提示 pip 不是内部或外部命令...: 这意味着您的系统无法直接识别 pip 命令,您可以尝试使用 python -m pip 来执行:

    python -m pip install openpyxl

    或者,如果您使用的是 Python 3:

    python3 -m pip install openpyxl
  • 如果提示 Permission denied (权限被拒绝): 在某些系统(如 macOS 或 Linux)上,您可能需要管理员权限来安装全局包,可以使用 sudo

    sudo pip install openpyxl

    或者更推荐的方式是使用虚拟环境,以避免污染系统 Python 环境。

    如何用python openpyxl下载文件?-图3
    (图片来源网络,侵删)
  • 如果提示 Could not find a version that satisfies the requirement...: 这可能意味着您的 pip 版本过旧,可以先尝试升级 pip

    pip install --upgrade pip

    然后再重新执行安装命令。


第二步:验证安装

安装完成后,您可以快速验证一下 openpyxl 是否已经成功安装。

在终端中运行以下 Python 代码:

python -c "import openpyxl; print(openpyxl.__version__)"

或者进入 Python 交互式环境:

python

然后输入:

>>> import openpyxl
>>> print(openpyxl.__version__)

如果命令行输出 openpyxl 的版本号(1.2),则说明安装成功。


第三步:基本使用示例

安装完成后,您就可以在您的 Python 脚本中使用它了,下面是一些最常见的操作示例。

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

from openpyxl import Workbook
# 1. 创建一个新的工作簿
wb = Workbook()
# 2. 获取活动工作表(默认创建的第一个工作表)
ws = wb.active
# 3. 给工作表命名= "销售数据"
# 4. 写入数据到单元格
# 可以直接赋值
ws['A1'] = "产品名称"
ws['B1'] = "销量"
ws['C1'] = "单价"
# 也可以使用行和列的数字索引 (1-based)
ws.cell(row=2, column=1, value="苹果")
ws.cell(row=2, column=2, value=50)
ws.cell(row=2, column=3, value=8.5)
ws.cell(row=3, column=1, value="香蕉")
ws.cell(row=3, column=2, value=30)
ws.cell(row=3, column=3, value=5.0)
# 5. 保存工作簿到文件
# 注意:如果文件已存在,它将被覆盖
filename = "sales_report.xlsx"
wb.save(filename)
print(f"文件 '{filename}' 已成功创建!")

运行此脚本后,您会在当前目录下找到一个名为 sales_report.xlsx 的文件。

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

假设您有一个名为 sales_report.xlsx 的文件,我们可以读取它的内容。

from openpyxl import load_workbook
# 1. 加载一个已存在的工作簿
filename = "sales_report.xlsx"
try:
    wb = load_workbook(filename)
    print(f"成功加载文件: {filename}")
    # 2. 获取指定名称的工作表
    ws = wb["销售数据"]
    print(f"正在读取工作表: {ws.title}")
    # 3. 读取数据
    # 读取单个单元格
    product_name = ws['A2'].value
    sales_volume = ws['B2'].value
    print(f"第一行数据: 产品={product_name}, 销量={sales_volume}")
    # 遍历所有行(从第二行开始,因为第一行是标题)
    print("\n--- 所有数据 ---")
    for row in ws.iter_rows(min_row=2, values_only=True):
        # row 是一个元组,('苹果', 50, 8.5)
        product, volume, price = row
        print(f"产品: {product}, 销量: {volume}, 单价: {price}")
except FileNotFoundError:
    print(f"错误: 文件 '{filename}' 未找到!")
except KeyError:
    print(f"错误: 工作簿中不存在名为 '销售数据' 的工作表!")

重要提示:openpyxl 的兼容性

  • .xlsx 格式: openpyxl 主要用于处理基于 Office Open XML 格式的文件,也就是 .xlsx, .xlsm, .xltx, .xltm,这是 Excel 2007 及以后版本的默认格式。
  • .xls 格式: 对于旧的 Excel 97-2003 格式(.xls),openpyxl 不支持,您需要使用另一个库,xlrd(仅读)和 xlwt(仅写)。

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

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