python中excel的读取和写入

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

pandas:读取、访问、写入

读取:

import pandas as pd
data = pd.read_excel('shuju.xlsx',engine = 'openpyxl')

访问单元格:

value = data.iloc[row,col]

写入:

写入表格

# 创建一个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:创建、读取、访问、写入

创建表格:

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
....
ws.save('pathtosave')

读取:

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

访问单元格:

cell_value = sheet.cell(row, col).value

写入:

写入表格

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

# 写入数据
sheet['A1'] = '姓名'
sheet['B1'] = '成绩'# 添加一行数据
sheet.append(['Alice', 99])

写入单元格

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开始,且包括表头。

2.   查找某一内容所在的行索引

data = pd.read_excel('shuju.xlsx',engine = 'openpyxl')
row_index = data.loc[data['姓名'] == 'Alice'].index[0]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/873209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB常见调优指南

文章目录 GaussDB常见调优指南一. Analyze 统计信息解析二. Explain 分布式计划解析三. 性能调优总体策略详解四. 性能调优之坏味道 SQL 识别五. 性能调优之好味道表定义六. 性能调优之 SQL 改写七. 性能调优之路径干预八. 性能调优之 Plan hint 运用九. 性能调优之 GUC 参数调…

C学习(数据结构)-->单链表习题

目录 一、环形链表 题一:环形链表 思路: 思考一:为什么? 思考二:快指针一次走3步、4步、......n步,能否相遇 step1: step2: 代码: 题二: 环形链表 I…

SAE J1939协议入门(一)

一、SAE J1939是什么 SAE J1939(以下简称J1939)是由汽车工程师协会(SAE )定义的标准,专门用于提供微处理器系统之间的串行数据通信。虽然CAN存在并且被广泛用于小型车辆,但J1939被设计为大型车辆复杂网络的…

antd drawer extra中按钮点击事件获取子组件的数据

在Ant Design的Drawer组件中,需要在extra区域的按钮点击事件中获取子组件的数据,可以通过以下步骤实现: 使用useRef钩子在父组件中创建一个ref引用子组件。 在子组件中使用useImperativeHandle或forwardRef来暴露一个方法给父组件调用。 在ex…

android mm m mmm 区别

Android开发中的m, mm, mmm命令用于编译源代码,‌它们的主要区别在于编译的范围和目标。‌ m命令:‌用于从Android源码的根目录开始编译所有的模块。‌这个命令会编译整个Android源代码树,‌确保所有必要的模块都被编译12。‌ mm命令&#x…

如何用Java实现运营商三要素接口调用

今天给大家案例运营商三要素接口,该接口实用性极强!建议大家点赞收藏,如果问题可随时评论区留言交流! 一、什么是运营商三要素? 运营商三要素通常指的是手机号码、用户姓名和身份证号码。 二、运营商三要素应用场景…

升级TrinityCore 服务器硬件

升级服务器 原服务器:Ubuntu装VirtualBox装Ubuntu虚拟机 原配置:内存1756MB 内核4 外接硬盘 ip 192.168.0.12 升级服务器:FreeBSD装bhyve装Ubuntu虚拟机 新配置:内存3072MB 内核4 ssd硬盘 ip 192.168.1.12 除了ssh&#…

WPF之URI的使用

pack://application:, pack://application:, 是一个在 WPF (Windows Presentation Foundation) 应用程序中用于指定资源位置的 URI (统一资源标识符) 方案的特定格式。这个格式用于访问嵌入在应用程序程序集(assemblies)中的资源,如图像、XA…

深度挖掘行情接口:股票市场中的关键金融数据API接口解析

在股票市场里,存在若干常见的股票行情数据接口,每一种接口皆具备独特的功能与用途。以下为一些常见的金融数据 API 接口,其涵盖了广泛的金融数据内容,其中就包含股票行情数据: 实时行情接口 实时行情接口&#xff1a…

恒创科技:如何解决“服务器 IP 地址无法被找到”的错误

如何解决“服务器 IP 地址无法被找到”的错误?此错误通常出现在你的设备无法使用其分配的 IP 地址与网络服务器通信时。问题的来源可能多种多样,从简单的拼写错误到复杂的 DNS 和路由问题。以下是对“服务器 IP 地址无法找到”的常见原因以及可以采取的解决办法。 …

万界星空科技MES系统生产计划管理的功能

MES系统(Manufacturing Execution System,制造执行系统)的生产计划管理功能是其核心功能之一,旨在将企业的生产计划转化为实际的生产操作,并通过实时监控和调整来确保生产活动的顺利进行。以下是MES系统生产计划管理功…

STM32 | 看门狗+RTC源码解析

点击上方"蓝字"关注我们 作业 1、使用基本定时7,完成一个定时喂狗的程序 01、上节回顾 STM32 | 独立看门狗+RTC时间(第八天)02、定时器头文件 #ifndef __TIM_H#define __TIM_H​#include "stm32f4xx.h"​void Tim3_Init(void);void Tim7_Init(void);​…

数据解析的四种方式

常用的解析数据的四种方式包括: XPath解析数据BeautifulSoup解析数据正则表达式pyquery解析数据 话说pyquery这个库运用的比较熟练,因为以前java编程的时候,经常写jsp代码,用jquery的ajax进行异步请求,对html、js、c…

SpringData JPA Mongodb 查询部分字段

JPA 网上用的好像不多&#xff0c;找了好多材料以后最终找了这个可行的方案&#xff1a; Query(fields "{tender_id:1,_id:0}")List<MGPltTender> findByTenderIdIsNotNull(PageRequest pageRequest); 调用&#xff1a; Sort sort Sort.by(popularType.getC…

sqlite|轻量数据库|pgadmin4的sqlite数据库操作--重置密码和账号解锁

前言&#xff1a; pgadmin4的用户密码以及pgadmin4创建的pg数据库的连接信息等等都是存放在sqlite数据库内的&#xff1b;而有的时候&#xff0c;可能会由于自己的问题将pgadmin4的密码忘记&#xff0c;这个时候需要重置pgadmin4的密码&#xff0c;或者是pgadmin4的密码输错多…

【二维区域和检索-矩阵不可变】python刷题记录

一夜无解&#xff0c;痛苦&#xff0c;遂拜倒于灵神门下&#xff0c;妄做狂徒也&#xff01; . - 力扣&#xff08;LeetCode&#xff09; 灵神秒解如下&#xff1a; class NumMatrix:#二维初始矩阵def __init__(self, matrix: List[List[int]]):mlen(matrix)nlen(matrix[0])#…

Java重修笔记 第二十四天 模板设计模式

模板设计模式 当功能内部一部分实现是确定&#xff0c;一部分实现是不确定的&#xff0c;这时可以把不确定的部分暴露出去&#xff0c;让子类去实现。 抽象类定义算法骨架&#xff0c;包含抽象方法&#xff0c;需要子类去实现。 具体类继承抽象类&#xff0c;实现抽象类中的抽…

vue和微信小程序的区别、比较

找到一篇很好的关于vue和小程序之间的理解文章&#xff0c;在此分享一下&#xff1a; 前端 - vue和微信小程序的区别、比较 - 个人文章 - SegmentFault 思否https://segmentfault.com/a/1190000015684864

qt 国际化语言,英文和中文切换

1、把需要翻译转换的内用用tr()包含&#xff0c;比如&#xff1a; label->setText("hello word"); 2、在 .pro 文件中添加 TRANSLATIONS lang_en.ts \ lang_zn.ts 3、利用lupdate 工具提取…

3、PostgreSQL之高级特性

PostgreSQL之高级特性 1、视图 之前我们查询过城市的天气情况&#xff0c;假设天气记录和城市位置的组合列表对我们的应用有用&#xff0c;但我们又不想每次需要使用它时都敲入整个查询。我们可以在该查询上创建一个视图&#xff0c;这会给该查询一个名字&#xff0c;我们可以…