python3 读取和写入excel表格中的数据:使用 openpyxl 或 pandas

发布时间:2025-04-27      访问量:44
在 Python 3 中,有多个库可以用来读取和写入 Excel 表格数据,比较常用的有 `openpyxl`(用于处理 `.xlsx` 文件)和 `pandas`(功能强大,支持多种文件格式)。下面分别介绍使用这两个库的具体方法。

使用 `openpyxl` 库
`openpyxl` 是一个专门用于读写 `.xlsx` 格式 Excel 文件的库。
import openpyxl # 读取 Excel 文件 def read_excel(file_path): try: workbook = openpyxl.load_workbook(file_path) sheet = workbook.active data = [] for row in sheet.iter_rows(values_only=True): data.append(row) return data except Exception as e: print(f"读取文件时出错: {e}") return [] # 写入 Excel 文件 def write_excel(file_path, data): try: workbook = openpyxl.Workbook() sheet = workbook.active for row in data: sheet.append(row) workbook.save(file_path) print(f"数据已成功写入 {file_path}") except Exception as e: print(f"写入文件时出错: {e}") if __name__ == "__main__": # 读取示例 file_to_read = "example.xlsx" read_data = read_excel(file_to_read) print("读取的数据:") for row in read_data: print(row) # 写入示例 data_to_write = [ ["姓名", "年龄", "城市"], ["张三", 25, "北京"], ["李四", 30, "上海"] ] file_to_write = "output.xlsx" write_excel(file_to_write, data_to_write)

使用 `pandas` 库
`pandas` 是一个功能强大的数据处理库,它可以方便地处理 Excel 文件。
import pandas as pd # 读取 Excel 文件 def read_excel_pandas(file_path): try: df = pd.read_excel(file_path) return df.to_csv(sep='\t', na_rep='nan') except Exception as e: print(f"读取文件时出错: {e}") return None # 写入 Excel 文件 def write_excel_pandas(file_path, data): try: df = pd.DataFrame(data[1:], columns=data[0]) df.to_excel(file_path, index=False) print(f"数据已成功写入 {file_path}") except Exception as e: print(f"写入文件时出错: {e}") if __name__ == "__main__": # 读取示例 file_to_read = "example.xlsx" read_data = read_excel_pandas(file_to_read) print("读取的数据:") print(read_data) # 写入示例 data_to_write = [ ["姓名", "年龄", "城市"], ["张三", 25, "北京"], ["李四", 30, "上海"] ] file_to_write = "output_pandas.xlsx" write_excel_pandas(file_to_write, data_to_write)

代码说明
`openpyxl` 部分
- **读取操作**:`openpyxl.load_workbook()` 用于加载 Excel 文件,`sheet.iter_rows(values_only=True)` 用于逐行迭代工作表中的数据。
- **写入操作**:`openpyxl.Workbook()` 创建一个新的工作簿,`sheet.append(row)` 用于逐行添加数据,最后使用 `workbook.save()` 保存文件。

`pandas` 部分
- **读取操作**:`pd.read_excel()` 用于读取 Excel 文件并返回一个 `DataFrame` 对象,`df.to_csv(sep='\t', na_rep='nan')` 将数据以制表符分隔的格式输出。
- **写入操作**:`pd.DataFrame()` 将数据转换为 `DataFrame` 对象,`df.to_excel()` 将数据写入 Excel 文件,`index=False` 表示不写入行索引。

你可以根据自己的需求选择合适的库来进行 Excel 文件的读写操作。在运行代码前,请确保已经安装了相应的库,可使用 `pip install openpyxl` 或 `pip install pandas` 进行安装。
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念