matlab如何从excel表格中读取数据

matlab如何从excel表格中读取数据,第1张

第一种方法,使用xlsread函数来读取excel中的数据

第二种方法,就是把字符转化为数字,使用函数str2num

MATLAB读取Excel表格数据和处理数据

分步阅读

本文以MATLAB读取某考试成绩的Excel表格数据为例,然后计算出各科的平均成绩、最高分、最低分和各位同学的总成绩。

工具/原料

MATLAB

Excel

xlsread

方法/步骤

第一,准备数据。下图是Amy,John,Julia,Kite四位同学的数学(Mathematics)和英语(English)考试成绩,保存在名为resultsxlsx的Excel表格中,作为本次MATLAB读取的数据。

第二,启动MATALB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

A=xlsread('resultsxlsx')

其中,由于resultsxlsx数据存放位置与MATLAB设置的路径一致,所以本文直接就写成xlsread('resultsxlsx')。如果路径不一致,应该写成xlsread('路径\resultsxlsx')的形式,例如xlsread('D:\Matlab\MATLAB2017\resultsxlsx')的形式。

第三,保存和运行上述脚本,Excel表格中的数据就被读入A中,在工作区可以看到A的值(双击可以打开),在命令行窗口也可以看到如下结果:

A =

99    73

85    95

62    86

55    45

第四,下面计算四位同学数学(Mathematics)和英语(English)的平均成绩、最高分、最低分和各位同学的总成绩。接着输入如下代码:

format compact

Maths_mean=mean(A(:,1))

Maths_max=max(A(:,1))

Maths_min=min(A(:,1))

English_mean=mean(A(:,2))

English_max=max(A(:,2))

English_min=min(A(:,2))

Amy_sum=sum(A(1,:)),John_sum=sum(A(2,:))

Julia_sum=sum(A(3,:)),Kite_sum=sum(A(4,:))

其中,format compact表示行间距紧凑(一会儿在命令行窗口中会看到)。A(:,1)表示第一列,也就是四位同学的数学(Mathematics)成绩,A(1,:)表示第一行,也就是Amy的数学(Mathematics)和英语(English)成绩。其他依次类推。

第五,保存和运行上述脚本,得到如下结果:

Maths_mean =

752500

Maths_max =

99

Maths_min =

55

English_mean =

747500

English_max =

95

English_min =

45

Amy_sum =

172

John_sum =

180

Julia_sum =

148

Kite_sum =

100

可以看出,四位同学的数学(Mathematics)平均分为7525,最高分99,最低分55,英语(English)平均分为7475,最高分95,最低分45,还以看到Amy总分172分,John总分180分,Julia总分148分,Kite总分100分。

END

注意事项

format compact起到使行间距紧凑的作用。

mean()求平均值,max()求最大值,min()求最小值,sum()求和。

利用Python的pandas数据结构来读取excel表格的数据,部分代码如下:

#-- coding:utf-8 --

import pandas as pd

import matplotlibpyplot as plt

catering_data="catering_salexls"

data=pdread_excel(catering_data,index_col=u'日期')

#读取数据,指定"日期"列为索引列;

大多数书上都是这样写的,但是在Python27上运行时出现错误。(没有在Python3x版本试过)

出现了如下问题:

这里写描述

使用help(pdread_excel)发现参数中有必选参数sheetname,加入到函数中,代码如下:

#-- coding:utf-8 --

import pandas as pd

import matplotlibpyplot as plt

catering_data="catering_salexls"

data=pdread_excel(catering_data,sheetname=0,index_col=u'日期')

运行成功。

sheetname=0 的意思是:读取xls文件中的第一个表格。(假设文件中有很多个表格)

另外,也可以将文件转换成csv格式,就不需要这个参数了。代码如下:

catering_data="catering_salecsv"

data=pdread_csv(catering_data)

1、读取txt数据

In [1]: import pandas as pd

In [2]: mydata_txt = pdread_csv('C:\\test_codetxt',sep = '\t',encoding = 'utf-8')

对于中文的文本文件常容易因为编码的问题而读取失败,正如上图所示。遇到这样的编码问题该如何处置呢?解决办法有两种情况:

1)当原始文件txt或csv的数据不是uft8格式时,需要另存为utf8格式编码;

2)如果原始的数据文件就是uft8格式,为了正常读入,需要将read_csv函数的参数encoding设置为utf-8

将原始数据另存为utf8格式的数据,重新读入txt数据

In [3]: mydata_txt = pdread_csv('C:\\testtxt',sep = '\t',encoding = 'utf-8')

In [4]: mydata_txt

很顺利,txt文本文件数据就这样进入了Python的口袋里了。

2、读取csv数据

csv文本文件是非常常用的一种数据存储格式,而且其存储量要比Excel电子表格大很多,下面我们就来看看如何利用Python读取csv格式的数据文件:

In [5]: mydata_csv = pdread_csv('C:\\testcsv',sep = ',',encoding = 'utf-8')

In [6]: mydata_csv

如果你善于总结的话,你会发现,txt文件和csv文件均可以通过pandas模块中的read_csv函数进行读取。该函数有20多个参数,类似于R中的readtable函数,如果需要查看具体的参数详情,可以查看帮助文档:help(pandasread_csv)

以上就是关于matlab如何从excel表格中读取数据全部的内容,包括:matlab如何从excel表格中读取数据、请问在Pandas用read_excel函数读取数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10093089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存