5.3 KiB
xlrd 模块——如何用 Python 处理 Excel 文件?
你有没有想过如何使用编程语言处理 MS-Excel 文件?在本教程中,我们将学习如何借助 Python 编程语言中的 xlrd 模块来处理 Excel 文件。
所以让我们开始吧!
MS-Excel 简介
Microsoft Excel 是最重要的计算机应用程序之一,因为它在许多行业中发挥着关键作用。它是各种企业任务、课堂作业甚至个人数据管理中使用最广泛的电子表格应用程序。
Excel 最初是在 1985 年推出的。从那时起,它在基于公式的算术和计算中,以及其他可能需要数学计算的活动中发挥了重要作用。
Excel 已经被许多组织、个人和机构企业使用,因为它的可用性和作为许多应用程序的可视化基础的能力。
xlrd 模块介绍
xlrd 模块可用于从电子表格中获取数据。例如,Python 可用于读取、写入或更改数据。
此外,用户可能需要遍历多个工作表并根据某些标准提取数据,以及编辑一些行和列并执行大量工作。要从电子表格中提取数据,请使用 xlrd 模块。
在实现 xlrd 模块之前,需要确保使用下面提到的命令行在您的系统上的 CMD 中将该模块导入到程序中。
pip install xlrd
使用 Python 中的 xlrd 模块
我们将在 xlrd 模块的帮助下一个接一个地做一些事情。在做任何事情之前,让我们看看我们将使用的数据集。
您可以使用任何合适的数据集,也可以创建自己的自定义数据集。我下载了一个随机的金融数据集,可以在这里 下载 。
Financial Data Xlrd Module
1.将 Excel 文件加载到程序中
最初,我们将导入 xlrd 模块,然后使用 xlrd 模块下的open_workbook函数来加载工作簿,该工作簿的路径在函数中被提及。
# Importing Module
import xlrd
# Loading Excel file
wb = xlrd.open_workbook('Financial Sample.xlsx')
2.读取 Excel 文件
现在,在一个 excel 文件中可以有多个工作簿,但是我们想要处理第一个工作簿,同样,我们将利用sheet_by_index函数并传递我们想要处理的工作表的索引。
# Storing the first sheet into a variable
sheet = wb.sheet_by_index(0)
打印单元格的值
加载某个工作簿后,我们想使用cell_value函数打印某个单元格的值,这需要我们要读取的单元格的行号和列号。
# Printing various cell values
print("Value of 0-0 cell: ",sheet.cell_value(0, 0))
print("Value of 20-4 cell: ",sheet.cell_value(20, 4))
执行后的输出是:
Value of 0-0 cell: Segment
Value of 20-4 cell: 1006.0
打印行数和列数
为了打印 excel 文件中的行数和列数,我们将使用“nrows”和“ncols”函数。
# Get max no of rows and columns
print("Number of Rows: ", sheet.nrows)
print("Number of Columns: ",sheet.ncols)
执行后的输出是:
Number of Rows: 701
Number of Columns: 16
打印所有列的名称
这可以使用下面提到的代码来实现。我们只需要打印第一行中每个列单元格的值。
# Get all column names
print("ALL COLUMN NAMES ARE: ")
for i in range(sheet.ncols):
print(sheet.cell_value(0,i))
执行后的输出如下所示:
ALL COLUMN NAMES ARE:
Segment
Country
Product
Discount Band
Units Sold
Manufacturing Price
Sale Price
Gross Sales
Discounts
Sales
COGS
Profit
Date
Month Number
Month Name
Year
打印前 10 行 5 列
这可以使用下面提到的代码来实现。如果愿意,您可以打印多行和多列。
# Get first 10 rows for 5 columns
for i in range(11):
for j in range(5):
print(sheet.cell_value(i,j), end="\t\t\t")
print()
输出如下所示:
Segment Country Product Discount Band Units Sold
Government Canada Carretera None 1618.5
Government Germany Carretera None 1321.0
Midmarket France Carretera None 2178.0
Midmarket Germany Carretera None 888.0
Midmarket Mexico Carretera None 2470.0
Government Germany Carretera None 1513.0
Midmarket Germany Montana None 921.0
Channel Partners Canada Montana None 2518.0
Government France Montana None 1899.0
Channel Partners Germany Montana None 1545.0
结论
恭喜你!您刚刚学习了如何使用 xlrd 模块加载和读取 excel 文件。希望你喜欢它!😇
喜欢这个教程吗?无论如何,我建议你看一下下面提到的教程:
感谢您抽出时间!希望你学到了新的东西!!😄

