下面我将为您详细讲解Python读写Excel表格的方法的完整实例教程。本文将分为以下几个部分:
- 准备工作
- 读Excel表格
- 写Excel表格
- 示例说明
一、准备工作
首先,我们需要安装相应的库,用于读写Excel表格。这里我们使用pandas
库和openpyxl
库。可以使用pip
进行安装,命令如下:
pip install pandas openpyxl
二、读Excel表格
读Excel表格的方法一般有两种,分别是使用pandas
库和使用openpyxl
库。
1. 使用pandas库
在使用pandas
库读Excel表格之前,需要先导入库:
import pandas as pd
然后,使用pandas
库的read_excel
函数来读取Excel表格:
df = pd.read_excel('file.xlsx', sheet_name='Sheet1')
其中,file.xlsx
代表要读取的Excel文件名,Sheet1
代表要读取的工作表名。
读取完成后,可以使用df.head()
函数来查看前几行数据。
2. 使用openpyxl库
在使用openpyxl
库读Excel表格之前,需要先导入库:
from openpyxl import load_workbook
然后,使用load_workbook
函数来加载Excel文件:
workbook = load_workbook(filename='file.xlsx')
加载完成后,使用workbook.active
属性来获取当前活动的工作表,或者使用workbook['Sheet1']
来获取指定的工作表,然后通过遍历方式,读取每一行数据。示例代码如下:
sheet = workbook.active
for row in sheet.iter_rows(min_row=2, values_only=True):
print(row)
其中,min_row
为遍历的起始行数,默认为1。values_only
为True代表只读取值,不读取公式。
三、写Excel表格
写Excel表格同样可以使用pandas
库和openpyxl
库。
1. 使用pandas库
使用pandas
库写Excel表格时,只需要将要写入Excel表格的数据保存为DataFrame格式,然后使用to_excel
函数即可写入Excel表格:
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.to_excel('file.xlsx', sheet_name='Sheet1')
其中,'A': [1, 2, 3], 'B': [4, 5, 6]
为要写入Excel表格的数据。
2. 使用openpyxl库
使用openpyxl
库写Excel表格时,需要先导入库:
from openpyxl import Workbook
然后,创建一个Workbook
对象,并创建一个工作表:
workbook = Workbook()
sheet = workbook.active
然后,将要写入Excel表格的数据,按照行列顺序写入到相应位置:
for row in [[1, 2, 3], [4, 5, 6], [7, 8, 9]]:
sheet.append(row)
最后,将写入的数据保存到Excel文件中:
workbook.save('file.xlsx')
四、示例说明
假设我们现在有一个Excel表格,如下所示:
Name | Age | Gender |
---|---|---|
Alice | 20 | Female |
Bob | 30 | Male |
Carl | 25 | Male |
我们现在要用Python读取这个表格,并计算这三个人年龄的平均值,然后把结果写入新的Excel表格中。
1. 使用pandas库
读取Excel表格:
import pandas as pd
df = pd.read_excel('test.xlsx', sheet_name='Sheet1')
计算平均年龄:
age_mean = df['Age'].mean()
写入Excel表格:
result = pd.DataFrame({'平均年龄': [age_mean]})
result.to_excel('result.xlsx', index=False)
2. 使用openpyxl库
读取Excel表格:
from openpyxl import load_workbook
workbook = load_workbook(filename='test.xlsx')
sheet = workbook.active
计算平均年龄:
age_total = 0
count = 0
for row in sheet.iter_rows(min_row=2, values_only=True):
age_total += row[1]
count += 1
age_mean = age_total / count
写入Excel表格:
from openpyxl import Workbook
result_workbook = Workbook()
result_sheet = result_workbook.active
result_sheet.append(['平均年龄', age_mean])
result_workbook.save('result.xlsx')
以上就是Python读写Excel表格的方法的完整实例教程。有什么问题可以继续提问。