安装xlrd
要用xlrd,当然得先把它请到咱们的Python环境里。安装起来可简单了,只需要在命令行里敲一行代码:
pip install xlrd
等它安装完,咱们就可以开始玩耍了。
打开Excel文件
安装好xlrd后,第一步自然是打开Excel文件。这步操作简单得很,就像打开家门一样:
这里的'example.xlsx'就是你要打开的Excel文件名。记得把文件放在跟你的Python脚本同一个文件夹里,要不然得写全路径。
获取工作表
Excel文件里可能有好几个工作表,xlrd让你轻松获取它们:
# 获取所有工作表名称sheet_names = workbook.sheet_names()print(sheet_names)# 根据索引获取工作表sheet1 = workbook.sheet_by_index(0)# 根据名称获取工作表sheet2 = workbook.sheet_by_name('Sheet2')
温馨提示:工作表索引是从0开始的,别跟Excel里看到的1、2、3搞混了哦!
读取单元格数据
现在咱们已经拿到了工作表,接下来就是读取里面的数据了。xlrd提供了几种方式:
# 读取单个单元格cell_value = sheet1.cell_value(0, 0) # 读取第1行第1列的值print(cell_value)# 读取整行数据row_values = sheet1.row_values(0) # 读取第1行的所有值print(row_values)# 读取整列数据col_values = sheet1.col_values(0) # 读取第1列的所有值print(col_values)
这里的行号和列号也是从0开始计数的,别忘了。
处理不同类型的数据
Excel里的数据类型五花八门,xlrd都能应付自如:
cell = sheet1.cell(0, 0)cell_type = cell.ctypeif cell_type == xlrd.XL_CELL_TEXT: print(“这是文本”)elif cell_type == xlrd.XL_CELL_NUMBER: print(“这是数字”)elif cell_type == xlrd.XL_CELL_DATE: print(“这是日期”)elif cell_type == xlrd.XL_CELL_BOOLEAN: print(“这是布尔值”)elif cell_type == xlrd.XL_CELL_ERROR: print(“这是错误”)elif cell_type == xlrd.XL_CELL_BLANK: print(“这是空白”)
特别要注意的是日期类型,Excel存储日期的方式有点特别,需要转换一下:
遍历整个工作表
有时候咱们需要把整个工作表的数据都读出来,xlrd也提供了简单的方法:
for row in range(sheet1.nrows): for col in range(sheet1.ncols): print(sheet1.cell_value(row, col), end='\t') print() # 换行
这段代码会把整个工作表的内容打印出来,看起来就像Excel表格一样。
读取合并单元格
Excel里经常有合并单元格,xlrd也考虑到了这点:
这段代码会告诉你哪些单元格被合并了,方便你在处理数据时特殊照顾它们。
xlrd这个库还有不少有意思的功能,比如读取单元格的样式、公式等。不过今天咱们就先到这儿,你已经学会了xlrd的基本用法,完全可以处理大部分Excel读取的需求了。
要是觉得xlrd用着还不错,可以去翻翻它的官方文档,里面有更多高级玩法。好了,今天的Excel读取小课堂就到这里,希望对你有帮助。记住,熟能生巧,多练习才是提高的王道!
领取专属 10元无门槛券
私享最新 技术干货