Python读写Excel表格的方法

  • Post category:Python

下面我将为您详细讲解Python读写Excel表格的方法的完整实例教程。本文将分为以下几个部分:

  1. 准备工作
  2. 读Excel表格
  3. 写Excel表格
  4. 示例说明

一、准备工作

首先,我们需要安装相应的库,用于读写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表格的方法的完整实例教程。有什么问题可以继续提问。