python中excel的读取和写入

python中对于excel文件数据的读取和写入,主要有两种方法,一种是通过pandas库 ,一种是通过openpyxl库 。在实际过程中,因为pandas库对单元格的定位和访问比较方便,openpyxl可以对单个单元格进行写入,而pandas库没有这样的功能。因而pandas库适合读取;openpyxl库适合写入

pandas:读取、访问、写入

读取:

python 复制代码
import pandas as pd
data = pd.read_excel('shuju.xlsx',engine = 'openpyxl')

访问单元格:

python 复制代码
value = data.iloc[row,col]

写入:

写入表格

python 复制代码
# 创建一个DataFrame
data = {'姓名': ['Bob', 'Alice'], '分数': [80, 99]}
df = pd.DataFrame(data)

# 将DataFrame写入Excel文件
df.to_excel('result.xlsx', index=False)

写入单元格

无,pandas库无法直接写入单元格。一般都是把数据存到数据结构中,然后df.to_excel整体将数据导入excel文件。

**openpyxl:创建、**读取、访问、写入

创建表格:

python 复制代码
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
....
ws.save('pathtosave')

读取:

python 复制代码
data = openpyxl.load_workbook(文件路径) 
sheet = data.worksheet[0] '''导入表,第一张表,索引为0'''

访问单元格:

python 复制代码
cell_value = sheet.cell(row, col).value

写入:

写入表格

openpyxl无法直接写入整个表格,但是可以通过append来添加一行数据

python 复制代码
# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '成绩'

# 添加一行数据
sheet.append(['Alice', 99])

写入单元格

python 复制代码
wb = Workbook()
ws = wb.active
ws.cell(row=1, column=1, value="姓名")
ws.cell(row=1, column=2, value="分数")
ws.save('result.xlsx')

注意:

1.pandas的行列索引从0开始,且不包括表头title;openpyxl索引从1开始,且包括表头。

  1. 查找某一内容所在的行索引
python 复制代码
data = pd.read_excel('shuju.xlsx',engine = 'openpyxl')
row_index = data.loc[data['姓名'] == 'Alice'].index[0]
相关推荐
愚公搬代码4 小时前
【愚公系列】《数据可视化分析与实践》015-数据源(本地文件Excel)
信息可视化·excel
开开心心就好1 天前
轻松鼠标连, 自定义区域模仿人手点击
人工智能·windows·物联网·计算机视觉·计算机外设·ocr·excel
AI_56781 天前
ableau可视化进阶:颜色与交互设计让数据会说话
数据库·云原生·excel
城数派1 天前
2001-2024年我国乡镇级的逐年植被净初级生产力(NPP)数据(Shp/Excel格式)
大数据·数据分析·excel
开开心心_Every2 天前
局域网大文件传输,设密码双向共享易用工具
运维·服务器·网络·游戏·pdf·电脑·excel
Data-Miner2 天前
本地化数据分析 agent,让 Excel 数据分析零门槛高效化
数据挖掘·数据分析·excel
盘古工具4 天前
告别重复数据:Excel禁止重复输入的两种方法
windows·excel
jiayong235 天前
Excel 核心功能详解
信息可视化·excel
未来之窗软件服务5 天前
万象EXCEL(二十五)租赁设备管理系统,设备租赁—东方仙盟
大数据·excel·仙盟创梦ide·东方仙盟·万象excel
骑猪撞地球QAQ5 天前
Java在导出excel时中添加图片导出
java·开发语言·excel