利用Python处理excel表格数据

利用pandas高效处理数据。

  1. pandas依赖xlrd模块来处理Excel。安装这个模块:pip install xlrd
  2. 安装pandas,安装命令:pip install pandas

pandas处理Excel表单
提前准备一个Excel文件:dataFall2018.xlsx,有一个表单,表单名为Sheet1;
Sheet1的数据展示如下:
利用Python处理excel表格数据_第1张图片
引入pandas模块:

import  pandas  as pd

读取Excel的两种方式:

  1. 默认读取第一个表单:
import  pandas  as pd

df = pd.read_excel('dataFall2018.xlsx')
#默认读取前五行的数据
data = df.head()
print("获取到的数据:\n",data)

结果如下
利用Python处理excel表格数据_第2张图片

2.通过指定表单名来读取:

import  pandas  as pd

df = pd.read_excel('dataFall2018.xlsx',sheet_name='Sheet1')
data = df.head()
print("获取到的数据:\n",data)

结果和第一次一样。

3.通过表单索引来指定要访问的表单,0表示第一个表单;也可以采用表单名加索引的方式来定位表单;也可以同时定位多个表单。

df=pd.read_excel('dataFall2018.xlsx',sheet_name=['Sheet1','Sheet2'])#可以通过表单名同时指定多个
# df=pd.read_excel(''dataFall2018.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单
# df=pd.read_excel(''dataFall2018.xlsx',sheet_name=['Sheet1',1])#可以混合的方式来指定
# df=pd.read_excel(''dataFall2018.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个
data=df.values#获取所有的数据,注意这里不能用head()方法哦~
print("获取到所有的值:".data)

pandas操作Excel的行列

  1. 读取指定的行,数据会保存在列表里面
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
#0表示第一行 这里读取数据并不包含表头,要注意哦!
data = df.ix[0].values
print("获取到的数据:\n",data)

结果如下
利用Python处理excel表格数据_第3张图片

2.读取指定的多行,结果会保存在嵌套列表里面

import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
#0表示第一行 这里读取数据并不包含表头,要注意哦!
data = df.ix[[0,1]].values
print("获取到的数据:\n",data)

结果如下(空数据会被nan代替):
利用Python处理excel表格数据_第4张图片

  1. 读取指定的行列:
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
#读取第0行第1列的值
data = df.ix[0,1]
print("获取到的数据:\n",data)
  1. 读取指定的多行多列值
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
data=df.ix[[0,2],['喂料秤','窑速']].values#读取第一行第三行的喂料秤以及窑速列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}",data)
  1. 获取所有行的指定列
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
data=df.ix[:,['喂料秤','窑速']].values#读所有行的喂料秤以及窑速列的值,这里需要嵌套列表
print("读取指定行的数据:\n",data)
  1. 获取行号并打印输出
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
print("输出行号列表",df.index.values)

结果显示如下:
利用Python处理excel表格数据_第5张图片

  1. 获取列名并打印输出
#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
print("输出列标题",df.columns.values)
  1. 获取随机输出指定行数的值:
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx' )
print("输出值",df.sample(1).values)    #这个方法类似于head()方法以及df.values方法
  1. 获取指定列的值
import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx' )
print("输出值\n",df['喂料秤'].values)

pandas处理Excel数据成为字典

import  pandas  as pd

#这个会直接默认读取到这个Excel的第一个表单
df = pd.read_excel('dataFall2018.xlsx')
for i in df.index.values:  #获取行号的索引,并对其进行遍历
    # 根据i来获取每一行指定的数据,并利用to_dict方法转成字典
    row_data = df.ix[i].to_dict()
    print(row_data)

参考 https://www.cnblogs.com/liulinghua90/p/9935642.html

你可能感兴趣的:(Python)