你是否曾想过如何用编程语言来处理MS-Excel文件?在本教程中,我们将学习如何在Python编程语言的xlrd模块的帮助下处理Excel文件。
因此,让我们开始吧!
MS-Excel简介
Microsoft Excel是最重要的计算机应用程序之一,因为它在许多行业中发挥着关键作用。它是在各种公司任务、课堂作业、甚至个人数据管理中使用最广泛的电子表格应用程序。
Excel最初是在1985年推出的。从那时起,它在基于公式的算术和计算,以及其他可能需要数学计算的活动中发挥了重要作用。
由于Excel的实用性和作为许多应用程序的视觉基础的能力,它已被许多组织、个人和机构企业所采用。
xlrd模块简介
xlrd模块可用于从电子表格中获取数据。例如,Python可能被用来读取、写入或改变数据。
此外,用户可能需要穿越几个工作表,根据一些标准提取数据,以及编辑一些行和列,进行大量的劳动。要从电子表格中提取数据,请使用xlrd模块。
在实施xlrd模块之前,需要确保使用下面提到的命令行将该模块导入到你系统的CMD中。
pip install xlrd
我们将在xlrd模块的帮助下陆续开展一些工作。在做任何事情之前,让我们看看我们将使用的数据集。
你可以使用任何你认为合适的数据集,或者创建你自己的自定义数据集。我下载了一个随机的金融数据集,可以下载 这里.
金融数据Xlrd模块
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
打印5列的前10行
这可以用下面提到的代码来实现。如果你愿意,你可以打印多行多列。
# 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文件。希望你喜欢它!😇
谢谢你抽出时间!希望你能学到新的东西希望你能学到新的东西!!😄