首页 > 后端开发 > Python教程 > 如何使用 Python 将数据写入 Excel 电子表格:Openpyxl 与 Pandas?

如何使用 Python 将数据写入 Excel 电子表格:Openpyxl 与 Pandas?

Mary-Kate Olsen
发布: 2024-11-28 00:38:17
原创
875 人浏览过

如何使用 Python 将数据写入 Excel 电子表格

许多开发人员都遇到需要将数据从程序导出到 Excel 电子表格的情况。本指南将探索 Python 中用于完成此任务的不同方法和包。

选择方法

选择方法时,请考虑项目的具体要求。需要记住的因素包括目标计算机上 Office 的可用性以及数据的长度和结构。

使用 Openpyxl

Openpyxl 是一个流行的 Python 软件包,用于读取和写入 Excel 电子表格。它提供了对单元格格式和样式的灵活性和深入控制。但是,请记住,Openpyxl 要求在目标系统上安装 Office,这可能并不总是可行。

利用 Pandas

对于未安装 Office 或未安装 Office 的情况数据很复杂,Pandas 成为一个很好的选择。 Pandas 允许您以通用数据结构操作和表示数据。通过将数据转换为 DataFrame 并利用 to_excel 方法,您可以轻松地将其保存到 Excel 文件中。

示例用例

考虑一个场景,其中您有两个值列表和三个值列表字符串变量。您需要创建一个具有特定布局的 Excel 文件,如下图所示:

How to Write Data to Excel Spreadsheets Using Python: Openpyxl vs. Pandas?

使用 Openpyxl,您可以如下创建此布局:

import openpyxl

data = {
    "Display": [1, 2, 3],
    "Dominance": [2.34, 4.346, 4.234],
    "Test": [2.3, 3.2, 1.7]
}

workbook = openpyxl.Workbook()
sheet = workbook.active

# Set column widths
sheet.column_dimensions["A"].width = 10
sheet.column_dimensions["B"].width = 15

# Insert headings
sheet["A1"] = "Category"
sheet["B1"] = "Values"

# Iterate over keys and values
for key, values in data.items():
    sheet[f"A{sheet.max_row + 1}"] = key
    for i, value in enumerate(values, 2):
        sheet[f"B{sheet.max_row + i}"] = value

workbook.save("output.xlsx")
登录后复制

或者,使用 Pandas:

import pandas as pd

data = {
    "display": [1, 2, 3],
    "dominance": [2.34, 4.346, 4.234],
    "test": [2.3, 3.2, 1.7]
}

df = pd.DataFrame(data)
df.to_excel("output.xlsx", index=False)
登录后复制

格式化单元格

要将特定单元格格式化为科学或精确数字,您可以使用 Pandas 中的样式方法:

df['dominance'] = df['dominance'].apply(lambda x: "%.10f" % x)
df.to_excel("output.xlsx", index=False)
登录后复制

这将在将值格式化为科学的同时保留值的完整精度符号。

以上是如何使用 Python 将数据写入 Excel 电子表格:Openpyxl 与 Pandas?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板