python(11):python读取excel、csv文件

news2024/10/6 20:33:39

1.python读取excel文件

要读取Excel表格的指定行和列范围,可以使用Python中的第三方库pandaspandas库提供了强大的数据分析和处理工具,包括读取和处理Excel文件的功能。以下是一个示例代码,演示了如何使用pandas库读取Excel表格中的指定行和列范围:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('path/to/excel_file.xlsx')

# 指定要读取的行和列范围
start_row = 2  # 起始行(索引为0)
end_row = 5  # 结束行
start_col = 'A'  # 起始列
end_col = 'C'  # 结束列

# 根据行和列范围提取数据
selected_data = df.loc[start_row:end_row, start_col:end_col]

# 打印提取的数据
print(selected_data)

在上述代码中,你需要将 'path/to/excel_file.xlsx' 替换为你要读取的Excel文件的实际路径。代码使用 pd.read_excel 函数读取Excel文件并将其存储在一个DataFrame对象中。

然后,通过设置 start_rowend_row 来指定要读取的行范围,起始行索引为0。同时,使用 start_colend_col 来指定要读取的列范围,以字母表示列标签。

接下来,使用 df.loc[start_row:end_row, start_col:end_col]DataFrame中提取指定的行和列范围的数据,并将结果存储在 selected_data 变量中。

最后,使用 print(selected_data) 打印提取的数据。

请注意,在运行代码之前,确保已经安装了pandas库。你可以使用以下命令安装pandas库:

pip install pandas

2. 读取csv文件并转换为numpy数组

要读取CSV文件的指定行和列范围,同样可以使用pandas库。pandas库提供了灵活的方法来读取和处理CSV文件。以下是一个示例代码,演示了如何使用pandas库读取CSV文件中的指定行和列范围:

2.1 读取csv文件

import pandas as pd

# 读取CSV文件
df = pd.read_csv('path/to/csv_file.csv')

# 指定要读取的行和列范围
start_row = 2  # 起始行(索引为0)
end_row = 5  # 结束行
start_col = 0  # 起始列(索引为0)
end_col = 2  # 结束列

# 根据行和列范围提取数据
selected_data = df.iloc[start_row:end_row+1, start_col:end_col+1]

# 打印提取的数据
print(selected_data)

在上述代码中,你需要将 'path/to/csv_file.csv' 替换为你要读取的CSV文件的实际路径。代码使用 pd.read_csv 函数读取CSV文件并将其存储在一个DataFrame对象中。

然后,通过设置 start_rowend_row 来指定要读取的行范围,起始行索引为0。同时,使用 start_colend_col 来指定要读取的列范围,起始列索引为0。

接下来,使用 df.iloc[start_row:end_row+1, start_col:end_col+1]DataFrame中提取指定的行和列范围的数据,并将结果存储在 selected_data 变量中。这里需要注意,end_row+1end_col+1 是为了包括指定的结束行和结束列。

最后,使用 print(selected_data) 打印提取的数据。

请注意,在运行代码之前,确保已经安装了pandas库。你可以使用以下命令安装pandas库:

pip install pandas

另外,需要根据实际的CSV文件的分隔符,使用read_csv函数的sep参数来指定分隔符,例如:pd.read_csv('path/to/csv_file.csv', sep=','),如果CSV文件使用的是逗号作为分隔符。默认情况下,read_csv函数会使用逗号作为分隔符。

2.2 转换为numpy数组

要将pandas库读取的数据转换为NumPy数组,可以使用values属性。以下是修改后的示例代码:

import pandas as pd
import numpy as np

# 读取CSV文件
df = pd.read_csv('path/to/csv_file.csv')

# 指定要读取的行和列范围
start_row = 2  # 起始行(索引为0)
end_row = 5  # 结束行
start_col = 0  # 起始列(索引为0)
end_col = 2  # 结束列

# 根据行和列范围提取数据
selected_data = df.iloc[start_row:end_row+1, start_col:end_col+1]

# 将提取的数据转换为NumPy数组
array_data = selected_data.values

# 打印转换后的NumPy数组
print(array_data)

在上述代码中,使用selected_data.valuesselected_data转换为NumPy数组,并将结果存储在array_data变量中。然后,使用print(array_data)打印转换后的NumPy数组。

请确保已经安装了NumPy库。你可以使用以下命令安装NumPy库:

pip install numpy

这样,你就可以将pandas读取的数据转换为NumPy数组进行后续的数据处理和分析。

2.3 实例

在这里插入图片描述

终端打印

(nerf) biter@biter:~/dataset/newer_college/transform_format$ python read_excel.py 
         x        y         z        qx        qy        qz        qw
2 -3.34605  8.24457  0.138331  0.003850  0.003713 -0.605999  0.795447
3 -3.35150  8.24461  0.141933  0.003800  0.003917 -0.605870  0.795545
4 -3.34477  8.24422  0.141572  0.003592  0.003960 -0.606074  0.795390
5 -3.35222  8.24647  0.137599  0.003687  0.003883 -0.605986  0.795458

[[-3.34605e+00  8.24457e+00  1.38331e-01  3.84963e-03  3.71254e-03
  -6.05999e-01  7.95447e-01]
 [-3.35150e+00  8.24461e+00  1.41933e-01  3.80030e-03  3.91695e-03
  -6.05870e-01  7.95545e-01]
 [-3.34477e+00  8.24422e+00  1.41572e-01  3.59196e-03  3.95955e-03
  -6.06074e-01  7.95390e-01]
 [-3.35222e+00  8.24647e+00  1.37599e-01  3.68695e-03  3.88267e-03
  -6.05986e-01  7.95458e-01]]

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

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

相关文章

[Go]-Go语言第一课

1-1 Go语言特点 特点: 1. 静态类型,编译开源语言2. 脚本化的语法,支持多种编程范式(函数式,面向对象)3. 原生,给力的并发支持并发编程1-2 Go语言优势与劣势 Go语言的优势: 1.脚本化…

软考A计划-系统集成项目管理工程师-信息化知识(三)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

加密市场与上一轮周期有何异同?五大因素探讨加密市场未来之路

数字资产市场在一季度表现不俗,但二季度的表现却出现了相反的情况。数据显示,BTC 在一季度累计上涨了 71.69%,而二季度截至目前下跌了 7.31%。这样的变化主要是由金融监管机构针对整个数字资产行业采取的监管行动造成的。虽然 BTC 今年以来仍…

uniapp中uni-popup的用法——实例讲解

uni-pop弹出层组件,在应用中弹出一个消息提示窗口、提示框等,可以设置弹出层的位置,是中间、底部、还是顶部。 如下图效果所示:白色区域则为弹出的pop层。 一、 创建一个自定义组件: 1.项目中安装下载uni-pop插件。 2.把pop内容…

2023.6.19项目部署(一)前端项目部署

文章目录 项目部署(一)前端项目一、安装宝塔面板1、安装宝塔面板2、放行端口3、安装相关软件4、添加站点 二、项目打包1、Springboot打包2、vue项目打包 三、前端项目部署1、安装nginx2、修改配置文件 项目部署(一)前端项目 将开…

SQL优化的几种方法

目录 避免使用select *用union all代替union小表驱动大表批量操作多用limitSQL查找是否"存在",别再count了!in中值太多增量查询高效的分页用连接查询代替子查询join的表不宜过多join时要注意控制索引的数量选择合理的字段类型提升group by的效…

HTTPHTTPS协议详解

目录 一、HTTP是什么? 理解 "应用层协议" 理解 HTTP 协议的工作过程 二、HTTP 协议格式 抓包工具的使用 抓包工具的原理 抓包结果 协议格式总结 三、HTTP 请求 (Request) 认识 URL URL 基本格式 认识 "方法" (method) 认识请求 &quo…

使用Java设计实现一个高效可伸缩的计算结果缓存

目录 概述1.缓存实现1.1 使用HashMapSynchronized实现缓存1.2 使用ConcurrentHashMap代替HashMap改进缓存的并发1.3 完成可伸缩性高效缓存的最终方案1.4 测试代码 2.并发技巧总结 概述 现在的软件开发中几乎所有的应用都会用到某种形式的缓存,重用之前的计算结果能…

回收站数据恢复方法有哪些?五招走起,趁早上手

回收站数据恢复方法是我们在日常操作电脑时不可避免需要面对的问题。本文将对几种常用的回收站数据恢复方法进行介绍,为大家解决恢复回收站数据的常见问题。 一、使用快捷键恢复回收站文件 在我们的电脑中,有很多实用的快捷键,其中有效地恢…

分享干货,多编程语言代码生成神器 CodeGeeX,编码效率提升十倍

CodeGeeX 是一个具有 130 亿参数的多编程语言代码生成预训练模型,采用华为 MindSpore 框架实现,在鹏城实验室“鹏城云脑 II”上使用 1536 个国产昇腾 910 AI 处理器训练而成。 CodeGeexX 支持十多种主流编程语言的高精度代码生成、跨语言代码翻译等功能&…

Django网络空间微博管理信息系统-计算机毕设 附源码85633

Django网络空间微博管理信息系统 摘 要 本论文主要论述了如何使用django框架开发一个网络空间微博管理信息系统,本系统将严格按照软件开发流程进行各个阶段的工作,面向对象编程思想进行项目开发。在引言中,作者将论述该系统的当前背景以及系统…

MidJourney使用教程:一 第一次怎么用Midjourney

实际我是先写的prompts提示这部分,觉得Midjurney使用的方式,市面上已经有一大把文章了,另一方面觉得也没什么可写的。注册一个discard账号写个prompts描述出图就可以了,但其实有很多点其实忽略掉。比如图出来了,这四幅…

cesium封装实现卫星视锥扫描效果

废话不多说,先看效果 先封装视锥效果函数 // 绘制卫星锥体const radarScanner = (position,height,radarId,bottomRadius,color) => {viewer.entities.add({

基于Springboot+vue的垃圾分类网站设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

学生速看!免费领取一台阿里云服务器申请全流程

阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器是很…

MT4开户平台交易注意事项有哪些?

很多投资者都会选择MT4平台进行开户交易,毕竟MT4平台的起步时间比较早,对一些关注资金安全的投资者来说,MT4平台无疑是他们最佳的选择,那么,在MT4开户平台交易就一定不会发生失误吗?答案就是:不…

红帽考试常见问题解答

问:红帽考试结束后,何时可以收到成绩? 答:美国认证中心会在 3~5 个工作日内将成绩通知邮件发给考生,请注意提供正确的联系信息。例外情况:一些邮件服务器会错误地将结果电子邮件作为垃圾邮件处…

【Python 随练】相反顺序输出字符串

题目 利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。 简介 在本篇博客中,我们将使用递归函数来解决一个字符打印的问题。我们将介绍递归的概念,并提供一个完整的代码示例来实现将输入的字符以相反顺序打印出来…

驱动开发:基于事件同步的反向通信

在之前的文章中LyShark一直都在教大家如何让驱动程序与应用层进行正向通信,而在某些时候我们不仅仅只需要正向通信,也需要反向通信,例如杀毒软件如果驱动程序拦截到恶意操作则必须将这个请求动态的转发到应用层以此来通知用户,而这…

Apache Superset 身份认证绕过漏洞(CVE-2023-27524)

漏洞简介 Apache Superset是一个开源的数据可视化和数据探测平台,它基于Python构建,使用了一些类似于Django和Flask的Python web框架。提供了一个用户友好的界面,可以轻松地创建和共享仪表板、查询和可视化数据,也可以集成到其他…