
python使用pandas处理excel的方法
一、配置环境
1、pandas依赖处理Excel的xlrd模块,安装命令是:
2、安装pandas模块还需要一定的编码环境,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web。
3、开始安装pandas,安装命令是:
二、pandas操作Excel表单
注意:加密文件是无法正常读写的
首先需准备一个表单
(推荐学习:Python视频教程)
1、读取excel文件的方式一:默认读取第一个表单:
1 2 3 4 5 | import pandas as pd
# 方法一:默认读取第一个表单
df = pd.read_excel( "C:\\文件路径\\文件名.xlsx" ) # 直接默认读取到Excel的第一个表单
data = df.head() # 默认读取前5行的数据
print ( "获取到所有的值:\n{0}" .format(data)) # 格式化输出
|
Copy after login
得到的结果是一个二维矩阵,如下图所示:

2、读取excel文件的方式二:通过制定表单名的方式读取:
1 2 3 4 5 6 | import pandas as pd
# 方法一:通过指定表单名的方式来读取
df = pd.read_excel( "C:\\文件路径\\文件名.xlsx " , sheet_name='测试用例')
# 直接默认读取到Excel的第一个表单
data = df.head() # 默认读取前5行的数据
print ( "获取到所有的值:\n{0}" .format(data)) # 格式化输出
|
Copy after login
得到的结果是一个二维矩阵,如下图所示:

3、读取excel文件的方法三:通过表单索引来指定要访问的表单,0表示第一个表单
1 2 3 4 5 6 7 8 | 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 ( "获取到所有的值:\n{0}" .format(data)) # 格式化输出
|
Copy after login

三、pandas操作Excel的行列
1:读取指定的单行,数据会存在列表里面
1 2 3 4 | import pandas as pd
df = pd.read_excel(' C:\\文件路径\\文件名.xlsx ')
data = df.ix[0].values # 0表示第一行 这里读取数据并不包含表头,要注意哦!
print ( "获取到所有的值:\n{0}" .format(data)) # 格式化输出
|
Copy after login

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

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

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

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

6:获取行号并打印输出
1 2 3 | import pandas as pd
df = pd.read_excel(' C:\\文件路径\\文件名.xlsx ')
print ( "输出行号列表" , df.index.values)
|
Copy after login

7:获取列名并打印输出
1 2 3 | import pandas as pd
df = pd.read_excel(' C:\\文件路径\\文件名.xlsx ')
print ( "输出列标题" , df.columns.values)
|
Copy after login

8:获取指定行数的值:
1 2 3 | import pandas as pd
df = pd.read_excel(' C:\\文件路径\\文件名.xlsx ')
print ( "输出值:\n" , df.sample(3).values) # 这个方法类似于head()方法以及df.values方法
|
Copy after login

9:获取指定列的值:
1 2 3 | import pandas as pd
df = pd.read_excel(' C:\\文件路径\\文件名.xlsx ')
print ( "输出值\n" , df['功能划分'].values)
|
Copy after login

四、pandas处理Excel数据成为字典
1 2 3 4 5 6 7 8 | 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 ( "最终获取到的数据是:\n{0}" .format(test_data))
|
Copy after login

推荐:Python教程
The above is the detailed content of How to use pandas to process excel in python. For more information, please follow other related articles on the PHP Chinese website!