本文作者:bang

Python利用pandas读取Excel表的方式

bang 2021-06-08 124
Python利用pandas读取Excel表的方式摘要: #引入pandas模块import pandas as pd#引入Excel读写模块import xlrd#引入文件目录模块import os#文件位置os.chdir(r"D:"...

#引入pandas模块

import pandas as pd

#引入Excel读写模块

import xlrd

#引入文件目录模块

import os

#文件位置

os.chdir(r"D:")

fname = "成绩.xlsx"

#方法一:默认读取第一个表单

df=pd.read_excel(fname)#这个会直接默认读取到这个Excel的第一个表单

data=df.head()#默认读取前5行的数据

print("获取到所有的值:\n{0}".format(data))#格式化输出

#方法二:通过指定表单名的方式来读取

df=pd.read_excel(fname,sheet_name='xuehao')#可以通过sheet_name来指定读取的表单

data=df.head()#默认读取前5行的数据

print("获取到所有的值:\n{0}".format(data))#格式化输出

#方法三:通过表单索引来指定要访问的表单,0表示第一个表单

#也可以采用表单名和索引的双重方式来定位表单

#也可以同时定位多个表单,方式都罗列如下所示

df=pd.read_excel(fname,sheet_name=['fenshu','xuehao'])#可以通过表单名同时指定多个

# df=pd.read_excel(fname,sheet_name=0)#可以通过表单索引来指定读取的表单

# df=pd.read_excel(fname,sheet_name=['fenshu',1])#可以混合的方式来指定

# df=pd.read_excel(fname,sheet_name=[0,1])#可以通过索引 同时指定多个

data=df.values#获取所有的数据,注意这里不能用head()方法哦~

#1:读取指定行

df=pd.read_excel(fname)#这个会直接默认读取到这个Excel的第一个表单

data=df.ix[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!

print("读取指定行的数据:\n{0}".format(data))

#2:读取指定的多行,数据会存在嵌套的列表里面:

df=pd.read_excel(fname)

data=df.ix[[1,2]].values#读取指定多行的话,就要在ix[]里面嵌套列表指定行数

print("读取指定行的数据:\n{0}".format(data))

#3:读取指定的行列:

df=pd.read_excel(fname)

data=df.ix[1,2]#读取第一行第二列的值,这里不需要嵌套列表

print("读取指定行的数据:\n{0}".format(data))

#4:读取指定的多行多列值:

df=pd.read_excel(fname)

data=df.ix[[1,2],['语文','数学']].values#读取第一行第二行的语文以及数学列的值,这里需要嵌套列表

print("读取指定行的数据:\n{0}".format(data))

#5:获取所有行的指定列

df=pd.read_excel(fname)

data=df.ix[:,['语文','数学']].values#读所有行的语文以及数学列的值,这里需要嵌套列表

print("读取指定行的数据:\n{0}".format(data))

#6:获取行号并打印输出

df=pd.read_excel(fname)

print("输出行号列表",df.index.values)

#输出结果是:

#输出行号列表 [0 1 2 3 4 5]

#7:获取列名并打印输出

df=pd.read_excel(fname)

print("输出列标题",df.columns.values)

#运行结果如下所示:

#输出列标题 ['姓名' '语文' '数学' '英语']

#8:获取指定行数的值:

df=pd.read_excel(fname)

print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法

"""输出值

[['王五' 90 100 100]

['白了' 82 100 93]

['壹万' 82 100 93]]

"""

#9:获取指定列的值:

df=pd.read_excel(fname)

print("输出值\n",df['语文'].values)

#四:pandas处理Excel数据成为字典

df=pd.read_excel(fname)

test_data=[]

for i in df.index.values:#获取行号的索引,并对其进行遍历:

#根据i来获取每一行指定的数据 并利用to_dict转成字典

row_data=df.ix[i,['姓名','语文','数学','英语']].to_dict()

test_data.append(row_data)

print("最终获取到的数据是:{0}".format(test_data))

""""

最后得到的结果是:

最终获取到的数据是:

[{'姓名': '张三', '语文': 100, '数学': 90, '英语': 100},

{'姓名': '李四', '语文': 88, '数学': 88, '英语': 80},

{'姓名': '王五', '语文': 90, '数学': 100, '英语': 100},

{'姓名': '陈起', '语文': 82, '数学': 100, '英语': 93},

{'姓名': '白了', '语文': 82, '数学': 100, '英语': 93},

{'姓名': '壹万', '语文': 82, '数学': 100, '英语': 93}]

"""

更多精彩内容请关注微信公众号“读书同友会”

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享