python操作xlsx格式文件并读取

  • Post category:Python

下面我将为您提供详细的Python操作xlsx格式文件并读取的实例教程。

步骤一:引入相关库

在Python中,我们需要先引入相关的库才能进行xlsx文件的操作和读取。我们需要用到的库有:

  1. openpyxl库:用于操作xlsx文件
  2. os库:用于获取文件路径

下面是引入库的Python代码示例:

import openpyxl
import os

步骤二:读取excel文件

在使用openpyxl库之前,我们需要先打开要读取的xlsx文件。下面是打开一个xlsx文件并读取其中的sheet的Python代码示例:

# 获取当前工作目录的绝对路径
base_path = os.path.abspath(os.path.dirname(__file__))
# 拼接文件路径
file_path = os.path.join(base_path, "data.xlsx")
# 打开文件
wb = openpyxl.load_workbook(file_path)
# 选择要读取的sheet
sheet = wb["Sheet1"]

步骤三:读取指定单元格的值

在获取sheet后,我们就可以读取其中指定单元格的值。下面是读取A2单元格的Python代码示例:

value = sheet["A2"].value
print(value)

步骤四:读取指定行或列的值

除了读取指定单元格的值外,我们还可以读取指定行或列的值。下面是读取第2行所有单元格的Python代码示例:

# 获取第2行
row = sheet[2]
# 输出第2行所有单元格的值
for cell in row:
    print(cell.value)

如果要读取第2列的所有单元格的值,可以使用类似的方法:

# 获取第2列
column = sheet["B"]
# 输出第2列所有单元格的值
for cell in column:
    print(cell.value)

步骤五:读取整张表格的值

如果想要读取整张表格的值,可以使用以下Python代码示例:

for row in sheet.iter_rows():
    for cell in row:
        print(cell.value)

示例说明

示例一:读取学生的成绩单

假设我们有一个名为”score.xlsx”的xlsx文件,其中包含了学生的成绩单。该文件的第一行是表头,第二行开始是学生的成绩信息,包括学生姓名、语文成绩、数学成绩、英语成绩,每个成绩单元格中包含一个数字。我们可以使用以下Python代码读取该文件中所有学生的总成绩,并将总成绩写入一个新的xlsx文件中:

# 创建一个新的xlsx文件
new_wb = openpyxl.Workbook()
# 选择要写入的sheet
new_sheet = new_wb.active
new_sheet.title = "Total Score"

# 打开要读取的xlsx文件
base_path = os.path.abspath(os.path.dirname(__file__))
file_path = os.path.join(base_path, "score.xlsx")
wb = openpyxl.load_workbook(file_path)
sheet = wb["Sheet1"]

# 计算每个学生的总成绩并写入新的xlsx文件中
for row in sheet.iter_rows(min_row=2):
    name, chinese, math, english = [cell.value for cell in row]
    total = chinese + math + english
    new_sheet.append([name, chinese, math, english, total])

# 将新的xlsx文件保存到硬盘上
new_wb.save(os.path.join(base_path, "total_score.xlsx"))

示例二:读取销售数据

假设我们有一个名为”sales.xlsx”的xlsx文件,其中包含了某公司的销售数据。该文件的第一行是表头,第二行开始是每个销售人员的销售数据,包括销售人员姓名、销售额、利润,每个单元格中包含一个数字。我们可以使用以下Python代码获取该文件中的所有销售数据,并计算出总销售额和总利润:

# 打开要读取的xlsx文件
base_path = os.path.abspath(os.path.dirname(__file__))
file_path = os.path.join(base_path, "sales.xlsx")
wb = openpyxl.load_workbook(file_path)
sheet = wb["Sheet1"]

# 计算销售数据的总销售额和总利润
total_sales = 0
total_profit = 0
for row in sheet.iter_rows(min_row=2):
    name, sales, profit = [cell.value for cell in row]
    total_sales += sales
    total_profit += profit

# 输出总销售额和总利润
print("Total Sales: ", total_sales)
print("Total Profit: ", total_profit)

以上就是Python操作xlsx格式文件并读取的实例教程,希望对您有所帮助。