许多开发人员都遇到需要将数据从程序导出到 Excel 电子表格的情况。本指南将探索 Python 中用于完成此任务的不同方法和包。
选择方法时,请考虑项目的具体要求。需要记住的因素包括目标计算机上 Office 的可用性以及数据的长度和结构。
Openpyxl 是一个流行的 Python 软件包,用于读取和写入 Excel 电子表格。它提供了对单元格格式和样式的灵活性和深入控制。但是,请记住,Openpyxl 要求在目标系统上安装 Office,这可能并不总是可行。
对于未安装 Office 或未安装 Office 的情况数据很复杂,Pandas 成为一个很好的选择。 Pandas 允许您以通用数据结构操作和表示数据。通过将数据转换为 DataFrame 并利用 to_excel 方法,您可以轻松地将其保存到 Excel 文件中。
考虑一个场景,其中您有两个值列表和三个值列表字符串变量。您需要创建一个具有特定布局的 Excel 文件,如下图所示:
使用 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中文网其他相关文章!