详解Pandas与openpyxl库的超强结合

  • Post category:Python

下面是关于“详解Pandas与openpyxl库的超强结合”的实例教程:

1. 安装库

在介绍实例前,需要先安装Pandas和openpyxl库:

pip install pandas
pip install openpyxl

2. 示例一

假设我们有一个Excel表格,里面记录了一些商品的名称、价格和销售数量。现在我们想要把销售额计算出来,并且把它添加到Excel表格中。下面是示例代码:

import pandas as pd
from openpyxl import load_workbook

# 读取Excel表格
wb = load_workbook('goods.xlsx')
sheet = wb['Sheet1']

# 读取数据
data = []
for row in sheet.iter_rows(min_row=2, min_col=1, values_only=True):
    name, price, amount = row
    data.append({'name': name, 'price': price, 'amount': amount})

# 计算销售额
for d in data:
    d['sales'] = d['price'] * d['amount']

# 把销售额添加到Excel表格中
for i, d in enumerate(data):
    sheet.cell(row=i+2, column=4, value=d['sales'])

# 保存Excel表格
wb.save('goods.xlsx')

在代码中,我们首先使用openpyxl库读取Excel表格,并使用Pandas库处理数据。我们使用一个列表来存储每个商品的数据,包括名称、价格、数量和销售额。然后我们循环计算每个商品的销售额,并把它添加到Excel表格中。最后,保存Excel表格。

3. 示例二

下面的例子是关于如何从Excel文件中读取数据并生成Pandas的DataFrame。

import pandas as pd
from openpyxl import load_workbook

# 读取Excel表格
wb = load_workbook('data.xlsx')
sheet = wb['Sheet1']

# 读取数据
data = []
for row in sheet.iter_rows(min_row=2, min_col=1, values_only=True):
    name, age, gender = row
    data.append({'name': name, 'age': age, 'gender': gender})

# 生成DataFrame
df = pd.DataFrame(data)

# 输出DataFrame
print(df)

在这个示例中,我们首先读取Excel表格,然后使用一个列表来存储每个人的数据,包括姓名、年龄和性别。接着,我们使用Pandas的DataFrame方法把这些数据转换为DataFrame,并打印输出。

希望这个实例教程能够对你有所帮助!