关于Python操作Excel的基本方法

  • Post category:Python

关于Python操作Excel的基本方法,以下是完整的实例教程。

1. 安装必备模块

在Python中操作Excel需要使用到xlrdxlwtopenpyxl等模块,我们可通过pip来进行安装。

pip install xlrd
pip install xlwt
pip install openpyxl

2. 示例1:读取Excel文件数据

下面我们来看如何用Python读取Excel文件数据。假设我们有一个Excel文件,其中存储了商品销售数据:

商品 销售量 销售额
A商品 200 4000
B商品 350 7000
C商品 600 12000

代码如下:

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook("sales.xlsx")

# 获取第一个工作表
worksheet = workbook.sheet_by_index(0)

# 获取商品列、销售量列、销售额列数据
product_col = worksheet.col_values(0, 1)
sales_col = worksheet.col_values(1, 1)
revenue_col = worksheet.col_values(2, 1)

# 输出数据
for i in range(len(product_col)):
    print(f"商品:{product_col[i]},销售量:{sales_col[i]},销售额:{revenue_col[i]}")

代码解释:

  1. 首先我们使用xlrd模块中的open_workbook()方法打开Excel文件,注意此时打开的文件必须是xls格式的Excel文件,若打开的是xlsx格式的Excel文件则会出现错误;
  2. 我们再使用sheet_by_index()方法获取Excel文件中的第一个工作表;
  3. 使用col_values()方法获取工作表中的商品列、销售量列、销售额列数据,参数1为数据所在列的索引,参数2为数据起始行的索引。需要注意的是,Excel文件中的索引都是从0开始,因此此处获取数据的时候起始行索引我们写成了1,意为从第2行开始获取数据;
  4. 最后我们遍历所有数据,并输出商品、销售量、销售额三列数据。

3. 示例2:向Excel文件中写入数据

下面我们来看如何用Python向Excel文件中写入数据。假设我们要向上述的Excel文件中添加一列“利润”。

代码如下:

from openpyxl import Workbook, load_workbook

# 打开Excel文件
workbook = load_workbook("sales.xlsx")

# 获取第一个工作表
worksheet = workbook.active

# 添加列标题
worksheet.cell(1, 4, "利润")

# 添加列数据
for i in range(2, 5):
    sales = worksheet.cell(i, 2).value
    revenue = worksheet.cell(i, 3).value
    profit = revenue * 0.3 - sales * 2
    worksheet.cell(i, 4, profit)

# 保存Excel文件
workbook.save("sales_profit.xlsx")

代码解释:

  1. 首先我们使用openpyxl模块中的load_workbook()方法打开Excel文件,此方法可以打开xlsx格式的Excel文件;
  2. 获取第一个工作表,此处我们使用active属性获取;
  3. 使用cell()方法定位到某个单元格,并向该单元格写入数据,第一个参数为单元格所在行的索引,第二个参数为单元格所在列的索引,第三个参数为要写入的数据;
  4. 添加利润数据时,我们循环遍历销售量和销售额两列的数据,根据公式计算出每个商品的利润值,并使用cell()方法向新添加的“利润”列写入和更新数据;
  5. 最后使用save()方法保存更新后的Excel文件。

以上就是Python操作Excel的基本方法,通过示例1我们学习了如何读取Excel文件中的数据,通过示例2我们学习了如何向Excel文件中添加一列数据。