我来详细讲解一下“Python处理EXCEL表格导入操作分步讲解”的完整实例教程。
1. 准备工作
在进行Python处理Excel表格导入操作之前,需要先安装第三方库openpyxl
,在命令行中输入以下命令即可安装:
pip install openpyxl
2. 导入Excel文件
导入Excel文件是指将Excel文件读取到Python程序中,以便后续的处理。可以使用openpyxl
库中的load_workbook
函数来导入Excel文件,示例如下:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
worksheet = workbook['Sheet1']
在上面的代码中,load_workbook
函数会读取名为example.xlsx
的Excel文件,并返回一个workbook
对象,代表整个Excel文件。使用workbook
对象的active
属性,可以获取到当前选中的工作表,也可以使用workbook
对象的[]
运算符直接获取某个工作表。
3. 读取Excel表格数据
在导入Excel文件成功后,就可以读取其中的数据了。可以使用worksheet
对象的iter_rows
方法来逐行读取Excel表格数据,示例如下:
# 遍历工作表的所有行
for row in worksheet.iter_rows():
# 遍历行中的所有单元格
for cell in row:
# 输出单元格的值
print(cell.value)
由于Excel表格中的数据是以行为单位组织的,因此我们首先要遍历工作表中的所有行,再遍历每行中的所有单元格,从而读取单元格的值。
4. 处理Excel表格数据
在读取了Excel表格中的数据后,我们可以对它们进行进一步的处理。例如,统计某一列的数据之和,示例如下:
# 计算第二列的数据之和
total = 0
for row in worksheet.iter_rows():
total += row[1].value
print('第二列的数据之和为:', total)
在上面的代码中,我们通过遍历所有行,累加第二列数据的值来计算数据之和。
示例说明
下面举两个例子来说明如何使用Python处理Excel表格。
示例一:计算平均值
假设我们有一个保存着某学生的三门课成绩的Excel表格,我们想要计算出该学生的平均分。Excel表格的内容如下:
姓名 | 语文 | 数学 | 英语 |
---|---|---|---|
张三 | 80 | 90 | 70 |
我们可以使用以下代码来读取并计算平均分:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
worksheet = workbook['Sheet1']
# 读取三门课程的成绩
chinese = worksheet['B2'].value
math = worksheet['C2'].value
english = worksheet['D2'].value
# 计算平均分
average = (chinese + math + english) / 3
# 输出平均分
print('该学生的平均分为:', average)
在上面的代码中,我们首先使用openpyxl
库中的load_workbook
函数加载了Excel文件,然后选择了第一个工作表。接着,我们通过对应单元格的列号和行号,分别获取了三门课程的成绩,并计算出了平均分。
示例二:筛选数据
假设我们有一个保存着某小区的房价信息的Excel表格,我们想要筛选出房屋年龄大于10年,且房价低于200万元的房屋数据。Excel表格的内容如下:
房屋编号 | 房屋年龄 | 房价(万元) |
---|---|---|
001 | 5 | 180 |
002 | 12 | 210 |
003 | 8 | 150 |
004 | 15 | 190 |
我们可以使用以下代码来读取并筛选数据:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择第一个工作表
worksheet = workbook['Sheet1']
# 遍历所有行(除去表头),找出符合条件的房屋数据
for row in worksheet.iter_rows(min_row=2):
house_age = row[1].value
house_price = row[2].value
if house_age > 10 and house_price < 200:
print('符合条件的房屋编号为:', row[0].value)
在上面的代码中,我们遍历了除去表头外的所有行,读取了每个房屋的年龄和房价。如果某个房屋的年龄大于10年且房价低于200万元,则输出该房屋的编号。
至此,我们已经完成了Python处理Excel表格导入操作的分步讲解。