在 Python 中操作 Excel 文件

在 Python 中操作 Excel 文件,常见的库有pandas、openpyxl、xlrd和xlwt等,下面分别介绍它们的使用场景和示例代码。

  1. 使用pandas库
    pandas 是一个强大的数据处理库,它可以方便地读取和写入 Excel 文件,并且支持对数据进行各种操作。
    安装
    bash
    pip install pandas openpyxl
    openpyxl 是 pandas 读取和写入 .xlsx 文件所需的依赖库。
    读取 Excel 文件
    python
    import pandas as pd

读取 Excel 文件

excel_file = pd.ExcelFile('example.xlsx')

获取指定工作表中的数据

df = excel_file.parse('Sheet1')

查看数据的基本信息

print('数据基本信息:')

df.info()

查看数据集行数和列数

rows, columns = df.shape

if rows:

查看数据前几行信息

print('数据前几行信息:')

print(df.head().to_csv(sep='\t', na_rep='nan'))

else:

print('数据全部内容信息:')

print(df.to_csv(sep='\t', na_rep='nan'))

写入 Excel 文件

python

import pandas as pd

创建示例数据

data = {

'Name': 'Alice', 'Bob', 'Charlie',

'Age': 25, 30, 35,

'City': 'New York', 'London', 'Paris'

}

df = pd.DataFrame(data)

写入 Excel 文件

df.to_excel('output.xlsx', index=False, sheet_name='Sheet1')

  1. 使用openpyxl库

openpyxl 是一个专门用于读写 .xlsx 格式 Excel 文件的库,适合处理复杂的 Excel 操作,如设置单元格格式、合并单元格等。

安装

bash

pip install openpyxl

读取 Excel 文件

python

from openpyxl import load_workbook

加载 Excel 文件

workbook = load_workbook('example.xlsx')

获取指定工作表

sheet = workbook'Sheet1'

遍历行

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

print(row)

写入 Excel 文件

python

from openpyxl import Workbook

创建一个新的工作簿

workbook = Workbook()

获取默认的工作表

sheet = workbook.active

写入数据

data = [

'Name', 'Age', 'City',

'Alice', 25, 'New York',

'Bob', 30, 'London',

'Charlie', 35, 'Paris'

]

for row in data:

sheet.append(row)

保存工作簿

workbook.save('output_openpyxl.xlsx')

  1. 使用xlrd和xlwt库

xlrd 用于读取 .xls 格式的 Excel 文件,xlwt 用于写入 .xls 格式的 Excel 文件。不过,这两个库对 .xlsx 格式支持有限。

安装

bash

pip install xlrd xlwt

读取 Excel 文件

python

import xlrd

打开 Excel 文件

workbook = xlrd.open_workbook('example.xls')

获取指定工作表

sheet = workbook.sheet_by_name('Sheet1')

遍历行

for row_index in range(sheet.nrows):

row = sheet.row_values(row_index)

print(row)

写入 Excel 文件

python

import xlwt

创建一个新的工作簿

workbook = xlwt.Workbook()

创建一个工作表

sheet = workbook.add_sheet('Sheet1')

写入数据

data = [

'Name', 'Age', 'City',

'Alice', 25, 'New York',

'Bob', 30, 'London',

'Charlie', 35, 'Paris'

]

for row_index, row in enumerate(data):

for col_index, value in enumerate(row):

sheet.write(row_index, col_index, value)

保存工作簿

workbook.save('output_xlwt.xls')

这些库各有优缺点,可以根据具体需求选择合适的库来操作 Excel 文件。

相关推荐
昵称画6 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
传奇开心果编程7 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
Linux_cy7 小时前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi12037 小时前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami7 小时前
【无标题】
开发语言·python
CodeGL7 小时前
10、Python基础之进程和线程
开发语言·python
TechWayfarer9 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
2601_967980119 小时前
Python列表操作方法详解
python·数据类型·修改·列表操作·功能汇总
卡卡~~10 小时前
“101计划”核心课程实践教材《数据实验结构指导-C++语言版》题目集
开发语言·c++·学习·算法