参考文献:《Python数据分析基础》
Excel文件与CSV文件的不同:首先Excel文件不是纯文本文件,所以不能在文本编辑器中打开它并查看数据。例如,在记事本中打开一个Excel文件。
Excel文件
在记事本中的格式
其次,与CSV文件不同,Excel工作簿被设计成包含多个工作表,所以需要通过内省(内部检查)获取其中所有工作表的信息。
内省Excel文件有助于确定文件中的数据确实是你想要的,对数据的一致性和完整性做一个初步检查。换句话说,可以使你对数据处理工作的工作量和文件内容的一致性有个大致的概念。
打开Microsoft Excel,将工作簿保存为sales_2013,xlsx。
工作表1:january_2013
工作表2:february_2013
工作表3:march_2013
#!/usr/bin/env python3
import sys
from xlrd import open_workbook
input_file = sys.argv[1]
workbook = open_workbook(input_file)
print('Number of worksheets:', workbook.nsheets)
for worksheet in workbook.sheets():
print("Worksheet name:", worksheet.name, "\tRows:", worksheet.nrows, "\tColumns:", worksheet.ncols)
这里介绍一下本文用到的xlrd模块函数
open_workbook()—— 打开Excel文件并读取数据
sheets() —— 通过索引顺序获取一个工作表
nsheets —— 求工作表的总数
nrows —— 获取有效行数
ncols —— 获取列表的有效列数
name —— 求工作表名称
from xlrd import open_workbook
这一行代码通过引用xlrd模块的open_workbook函数读取和分析Excel文件
workbook = open_workbook(input_file)
这一行代码使用open_workbook函数,读取一个Excel输入文件,并赋值给变量workbook。workbook中包含了Excel文件所有的信息,所以可以通过使用workbook来获取每个工作表的信息。
print('Number of worksheets:', workbook.nsheets)
这一行代码使用nsheets函数,求得Excel文件中所包含工作表的个数。随后将其输出到屏幕上。
for worksheet in workbook.sheets():
print("Worksheet name:", worksheet.name, "\tRows:", worksheet.nrows, "\tColumns:", worksheet.ncols)
这两行代码,构建了for循环体。使用sheets函数,依次引用每一个工作表。最后使用对应的函数依次输出各工作表的名字、行数和列数。