首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xlrd:Excel文件读取的得力助手

安装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读取小课堂就到这里,希望对你有帮助。记住,熟能生巧,多练习才是提高的王道!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O4kdSmzOfPtDxVUtDrYOUHRA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券