在 Python 中操作 Excel 文件

devtools/2025/2/21 4:32:13/

在 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’)
2. 使用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’)
3. 使用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 文件。


http://www.ppmy.cn/devtools/160588.html

相关文章

AI 百炼成神:线性回归,预测房价

我们开始第一个项目——线性回归:预测房价。这是一个经典的机器学习入门项目,可以帮助你理解如何使用线性回归模型来预测连续的数值。 第一个项目:线性回归预测房价 项目目标 学习线性回归的基本概念。使用历史房价数据建立一个预测模型。理解如何评估模型的性能。项目步骤…

java数据结构_优先级队列(堆)_6.2

3. 常用接口 3.1 PriorityQueue的特性 Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue的线性不安全的,PriorityBlockingQueue是线程安全的,这里主要介绍PriorityQueueu。 关于PriorityQueue…

常见安全威胁

(1)信息泄露:信息被泄露或透露给某个非授权的实体。 (2)破坏信息的完整性:数据被非授权地进行增删、修改或破坏而受到损失。 (3)拒绝服务:对信息或其他资源的合法访问被无…

centos8 使用yum安装程序出现报错

在执行yum指令出现源更新不了Could not resolve host: mirrorlist.centos.org; Unknown error问题 yum -y update结果 Errors during downloading metadata for repository appstream: - Curl error (6): Couldnt resolve host name for http://mirrorlist.centos…

基于STM32+ESP8266+手机 APP+阿里云的智能小车设计与实现(系统资料)

基于STM32+ESP8266+手机APP+阿里云的智能小车设计与实现 摘要:本研究旨在设计一款高度智能化的智能小车系统,通过集成 STM32 微控制器、ESP8266 无线模块、手机 APP 以及阿里云平台,实现环境数据实时采集、远程精准控制和高效的数据交互。详细阐述系统各部分的设计原理、实…

React入门 - 0.React简介

React入门 - React简介 A Brief Introduction to React By JacksonML 1. 关于React React是一个知名的Web框架。众所周知,jQuery, Angular, Vue等框架都曾闪亮登场,并且,都仍然在全球市场占有一席之地。React这个颇有担当的新锐&#xff0…

ubuntu20.04连接airpods pro2

youtub视频解决方法:Setup your AirPods Pro with Linux (Ubuntu w/Mic fix) 重要步骤1, sudo apt-get update sudo apt-get install pulseaudio sudo apt-get upgrade pluseaudio重要步骤2, sudo vim /etc/bluetooth/main.confsudo /ect/…

51单片机学习之旅——定时器

打开软件 1与其它等于其它,0与其它等于0 1或其它等于1,0或其它等于其它 TMODTMOD&0xF0;//0xF01111 0000进行与操作,高四位保持,低四位清零,高四位定时器1,低四位定时器0 TMODTMOD|0x01;//0x010000 0…