【Python基础】一文搞懂:Python 中 Excel 文件的写入与读取

1 引言

在现代办公自动化中,Excel 文件广泛应用于数据存储、分析和报告。Python 作为一个强大的编程语言,提供了多个库来处理 Excel 文件,其中最受欢迎的是 openpyxlpandas。本文将深入介绍如何在 Python 中使用这些库来读写 Excel 文件。

2 使用 openpyxl

openpyxl 是一个 Python 库,用于读写 Excel 2010 及以上版本的 xlsx/xlsm/xltx/xltm 文件。

2.1 安装 openpyxl

pip install openpyxl

2.2 写入 Excel 文件

from openpyxl import Workbook

# 创建工作簿
wb = Workbook()
ws = wb.active

# 添加数据
data = [
    ['Name', 'Age', 'City'],
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles']
]

for row in data:
    ws.append(row)

# 保存到文件
wb.save("example.xlsx")

2.3 读取 Excel 文件

from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 读取数据
for row in ws.iter_rows(values_only=True):
    print(row)

3 使用 pandas

pandas 是 Python 数据分析的核心库,提供了简单易用的数据结构和数据分析工具。

3.1 安装 pandas 和 openpyxl

pip install pandas openpyxl

3.2 写入 Excel 文件

import pandas as pd

# 数据
df = pd.DataFrame({
    'Name': ['Alice', 'Bob'],
    'Age': [30, 25],
    'City': ['New York', 'Los Angeles']
})

# 写入 Excel 文件
df.to_excel("example.xlsx", index=False)

3.3 读取 Excel 文件

# 读取 Excel 文件
df = pd.read_excel("example.xlsx")

# 显示数据
print(df)

4 实例演示

以下是一个 Python 示例,演示如何使用 pandasopenpyxl 库来读取和写入 Excel 文件。这个示例将包括两个主要部分:使用 pandas 进行简单的 Excel 文件读写操作,以及使用 openpyxl 进行更细粒度的操作。我们将这些功能封装在一个名为 excel_example.py 的 Python 文件中。

4.1 安装所需库

在运行此脚本之前,请确保已经安装了 pandasopenpyxl

pip install pandas openpyxl

4.2 封装为excel_example.py脚本文件

import pandas as pd
from openpyxl import load_workbook

def write_excel_with_pandas(file_name, data):
    """ 使用 pandas 写入 Excel """
    df = pd.DataFrame(data)
    df.to_excel(file_name, index=False)

def read_excel_with_pandas(file_name):
    """ 使用 pandas 读取 Excel """
    df = pd.read_excel(file_name)
    print(df)

def read_excel_with_openpyxl(file_name):
    """ 使用 openpyxl 读取 Excel """
    workbook = load_workbook(filename=file_name)
    sheet = workbook.active

    for row in sheet.iter_rows(values_only=True):
        print(row)

def main():
    # 文件名
    file_name = 'example.xlsx'

    # 数据
    data = {
        'Name': ['Alice', 'Bob'],
        'Age': [30, 25],
        'City': ['New York', 'Los Angeles']
    }

    # 使用 pandas 写入 Excel
    write_excel_with_pandas(file_name, data)

    # 使用 pandas 读取 Excel
    print("使用 pandas 读取 Excel:")
    read_excel_with_pandas(file_name)

    # 使用 openpyxl 读取 Excel
    print("\n使用 openpyxl 读取 Excel:")
    read_excel_with_openpyxl(file_name)

if __name__ == '__main__':
    main()

运行以上代码后控制台输出结果:
使用 pandas 读取 Excel:
Name Age City
0 Alice 30 New York
1 Bob 25 Los Angeles

使用 openpyxl 读取 Excel:
(‘Name’, ‘Age’, ‘City’)
(‘Alice’, 30, ‘New York’)
(‘Bob’, 25, ‘Los Angeles’)
同时生成如下Excel文件:“example.xlsx”在这里插入图片描述

在这个脚本中,我们定义了三个函数:write_excel_with_pandas 用于写入 Excel 文件,read_excel_with_pandasread_excel_with_openpyxl 分别用于读取 Excel 文件。main 函数中整合了这些操作的流程。运行这个脚本将会创建一个名为 sample.xlsx 的文件,并在其中写入数据,然后使用两种不同的方法读取并打印出这些数据。

5 注意事项

  • 当使用 openpyxl 时,可以更加细致地控制 Excel 文件的每个方面,如样式、图表等。
  • pandas 提供了更高级的数据处理能力,适合于复杂的数据分析任务。
  • 确保安装了最新版本的 openpyxlpandas,以便使用最新的功能和修复。

6 总结

通过本文的介绍,您应该能够理解并开始在 Python 中使用 openpyxlpandas 来处理 Excel 文件。无论是进行简单的数据记录还是复杂的数据分析,这些工具都将是您强大的助手。


希望这篇文章能帮助您理解和掌握 Python 中处理 Excel 文件的方法。如果您有任何疑问或建议,请在评论区留言,让我们共同进步!

作者:climber1121
链接:https://blog.csdn.net/climber1121
来源:CSDN
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。

  • 46
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将PythonExcel文件数据写入数据库,可以按照以下步骤进行操作: 1. 首先,使用xlrd库来读取Excel文件的数据。可以使用open_workbook函数打开Excel文件,然后使用sheet_by_index函数获取指定索引的工作表。可以使用nrows属性获取总行数,然后使用循环遍历每一行的数据,并将其保存到一个列表。 2. 接下来,使用pandas库的DataFrame对象来导出数据。可以使用read_excel函数读取Excel文件,并将其转换为DataFrame对象。然后,可以使用to_sql函数将DataFrame对象的数据写入数据库表。 下面是一个示例代码,演示了如何将Excel文件的数据写入数据库: ```python import pandas as pd import xlrd import pymysql # 读取Excel文件 FilePath = 'E:/PDBC/StudentInfo.xls' wkb = xlrd.open_workbook(FilePath) sheet = wkb.sheet_by_index(0) rows_number = sheet.nrows # 将Excel数据保存到列表 data = [] for i in range(rows_number): x = sheet.row_values(i) data.append(x) # 将数据转换为DataFrame对象 df = pd.DataFrame(data) # 连接数据库 conn = pymysql.connect(host='localhost', user='root', password='password', db='database_name') # 将DataFrame数据写入数据库表 df.to_sql('table_name', conn, if_exists='replace', index=False) # 关闭数据库连接 conn.close() ``` 请注意,上述代码的`localhost`、`root`、`password`和`database_name`需要根据实际情况进行替换,以便连接到正确的数据库。同时,`table_name`也需要替换为要写入数据的目标表的名称。 希望这个示例能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值