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

news/2024/11/29 22:49:18/

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.ppmy.cn/news/481398.html

相关文章

[进阶]Java:线程安全问题、取钱模拟

什么是线程安全问题? 多个线程,同时操作同一个共享资源的时候,可能会出现业务安全问题。 线程安全问题出现的原因? 存在多个线程在同时执行同时访问一个共享资源存在修改该共享资源 代码演示如下: 账户类&#xff…

云时代——华为云产品体验

数字化时代,企业上云大势所趋! 在华为云我也是有着自己的云产品的,现在我很懊悔,懊悔产品买早了!! 现在正值双十一的时候,华为云双十一的优惠太好了,好的我都想再次行动起来了&…

腾讯云2023新春盛惠提前享-千元复工复产优惠券等你来领取!

腾讯云迎来了2023年的第一波优惠活动,本次优惠活动迎来了提前享购的机会,第一个测试复工复产大礼包,总计1188元,其中还有优惠券可叠加活动使用,其次还有买赠专区活动,在此专区个人专享选购的云服务器都可以…

【华为云技术分享】云图说 | 初识云耀云服务器,打造“极优、极简”的云上体验

描述:华为云HECS(Hyper Elastic Cloud Server,云耀云服务器)是专为中小企业和个人开发者打造的新一代云服务器,助力企业上云更轻松! 华为云HECS(Hyper Elastic Cloud Server,云耀云…

【0元限免】华为云服务器等多款云产品免费试用

华为云服务成立于2011年,隶属于华为公司。华为云服务在北京、深圳、南京、美国等多地设立有研发和运营机构,贯彻华为公司"云、管、端"的战略方针,汇集海内外优秀技术人才,专注于云计算中公有云领域的技术研究与生态拓展…

华为云耀服务器与弹性云服务器的区别

云耀云服务器 云耀云服务器(Halo Elastic Cloud Server,HECS)是可以快速搭建简单应用的新一代云服务器,具备独立、完整的操作系统和网络功能。提供快速应用部署和简易的管理能力,适用于网站搭建、开发环境等低负载应用…

华为云服务之弹性云服务器ECS的深度使用和云端实践【华为云至简致远】

【摘要】 什么是弹性云服务器ECS?ECS的产品架构是什么?它有哪些优势和有应用场景?弹性云服务器ECS的使用流程是怎样的?如何运用弹性云服务器ECS搭建微信公众号后台并收发文本消息?让我们带着这些疑问,去弹性…

基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】

【摘要】 基于华为云弹性云服务器ECS,搭配共享镜像,快速搭建环境,进行目标检测与识别的昇腾AI开发体验,开箱即用,打破时间和空间限制,随时随地进行开发,适合个人开发和团队协作,体验…