纳速健身

 找回密码
 注册

扫一扫,访问微社区

查看: 32|回复: 0

[Python] Python利用pandas处理Excel数据

[复制链接]
发表于 2020-10-28 23:46:57 | 显示全部楼层 |阅读模式
Python利用pandas处理Excel数据

本章节内容主要参考来源:https://www.cnblogs.com/liulinghua90/p/9935642.html

一、配置环境

1、pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd


2、安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web,如果大家没有这些软件~可以咨询我们的辅导员索要相关安装工具。


3、步骤1和2 准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas


我的电脑进行步骤1和步骤3后可直接使用了,故不知步骤2中的配置是否有影响


二、pandas操作Excel表单

注意:加密文件是无法正常读写的


首先需准备一个表单

1、读取excel文件的方式一:默认读取第一个表单:

import pandas as pd

# 方法一:默认读取第一个表单
df = pd.read_excel("C:\文件路径\文件名.xlsx")  # 直接默认读取到Excel的第一个表单
data = df.head()  # 默认读取前5行的数据
print("获取到所有的值:{0}".format(data))  # 格式化输出


得到的结果是一个二维矩阵,如下图所示:

20190507204903807.png

2、读取excel文件的方式二:通过制定表单名的方式读取:

import pandas as pd

# 方法一:通过指定表单名的方式来读取
df = pd.read_excel("C:\文件路径\文件名.xlsx ", sheet_name='测试用例')
# 直接默认读取到Excel的第一个表单
data = df.head()  # 默认读取前5行的数据
print("获取到所有的值:{0}".format(data))  # 格式化输出


得到的结果是一个二维矩阵,如下图所示:

20190507205018406.png



3、读取excel文件的方法三:通过表单索引来指定要访问的表单,0表示第一个表单

import pandas as pd

# df = pd.read_excel(' C:\文件路径\文件名.xlsx '])
# 可以通过表单名同时指定多个
df = pd.read_excel(' C:\文件路径\文件名.xlsx ', sheet_name=0)  # 可以通过表单索引来指定读取的表单
# df = pd.read_excel(' C:\文件路径\文件名.xlsx ', sheet_name=['功能模块', 1])  # 可以混合的方式来指定
# df = pd.read_excel(' C:\文件路径\文件名.xlsx ', sheet_name=[1, 2])  # 可以通过索引 同时指定多个
data = df.values  # 获取所有的数据,注意这里不能用head()方法哦~
print("获取到所有的值:{0}".format(data))  # 格式化输出

20190507205259852.png

上述运行结果不知如何解释

三、pandas操作Excel的行列

1:读取指定的单行,数据会存在列表里面

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
data = df.ix[0].values  # 0表示第一行 这里读取数据并不包含表头,要注意哦!
print("获取到所有的值:{0}".format(data))  # 格式化输出

20190507205305700.png


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

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
data = df.ix[[1, 2]].values  # 读取指定多行的话,就要在ix[]里面嵌套列表指定行数
print("获取到所有的值:{0}".format(data))  # 格式化输出

20190507205315111.png


3:读取指定的行列:

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
data = df.ix[1, 2]  # 读取第一行第二列的值,这里不需要嵌套列表
print("获取到所有的值:{0}".format(data))  # 格式化输出

20190507205321934.png


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

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
data = df.ix[[1, 2], ['序号', '功能划分']].values  # 读取第一行第二行的序号以及功能划分列的值,这里需要嵌套列表
print("获取到所有的值:{0}".format(data))  # 格式化输出

20190507205347231.png


5:获取所有行的指定列

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
data = df.ix[:, ['序号', '功能划分']].values  # 读所有行的“序号”以及“功能划分”列的值,这里需要嵌套列表
print("获取到所有的值:{0}".format(data))  # 格式化输出

2019050720535514.png


6:获取行号并打印输出

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
print("输出行号列表", df.index.values)

2019050720540396.png


7:获取列名并打印输出

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
print("输出列标题", df.columns.values)

20190507205411606.png


8:获取指定行数的值:

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
print("输出值:", df.sample(3).values)  # 这个方法类似于head()方法以及df.values方法

20190507205421284.png


9:获取指定列的值:

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
print("输出值", df['功能划分'].values)

四、pandas处理Excel数据成为字典

import pandas as pd

df = pd.read_excel(' C:\文件路径\文件名.xlsx ')
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))


您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表