在日常工作中,我们常常与Excel表格打交道,使用它来处理各种数据,但渐渐地会发现,我们总是在使用Excel表格处理类似的工作,这些工作占据了我们大量时间,因此,是时候尝试让Excel自动处理重复的工作了。将重复的工作交给计算机,让它来帮助我们快速处理这些重复内容,提高自己的工作效率。
常用操作excel的第三方库
常用python库xlrd、xlwt、xlutils、openpyxl、pandas。这些库你可以一次将其全部安装。
xlrd的主要作用是读取工作簿中的数据,而xlwt的主要作用是将数据写入工作簿中。无论是*.xls类型的工作簿还是*.xlsx类型的工作簿,xlrd都可以读取,但xlwt只能将数据写入*.xls类型的工作簿。
xls是2003版工作簿使用的格式,它是一种具有特定规律的二进制格式文件,其核心结构是2003版Excel特有的复合文档类型结构;而*.xlsx是2007版及以后版本工作簿默认使用的格式,其核心结构是XML数据结构。相对于*.xls,*.xlsx的核心结构更加清晰,压缩后占用的空间更小。因此,如果你使用的.xlsx格式的Excel文件,需要使用openpyxl库进度读写操作了。
xlutils依赖于xlrd与xlwt,主要是用来修改Excel工作簿数据。
此外,*.xls与*.xlsx的另一个重要差异在于*.xls类型文件最多可写入65 535行、256列的数据量,而*.xlsx类型文件最多可写入1 048 576行、16 384列的数据量(当存储的数据大于工作簿存储极限时,就可以考虑使用数据库来存储数据,如MySQL数据库)。
使用xlrd读取Excel数据
import xlrd
# 读取excel文件
data = xlrd.open_workbook("file.xlsx")
# 选择所有工作表中的第一个
sheet = data.sheets()[0]
# 通过索引号选择工作表的第一个
sheet = data.sheet_by_index(0)
# 通过名称选择工作表
sheet = data.sheet_by_name("Sheet1")
# 通过行号和列号获取相应单元格中的数据
value = sheet.cell_value(1,0)上述代码中,通过读取文件,选择工作表,最终获取一个单元格数据。是一个最简单,且完整的读取excel数据的过程。
总结
使用xlrd读取工作簿中的数据可以分成以下3步。
如果想要批量读取单元格中的信息,那么必然需要使用循环语句。下一次,将分享批量读取excel中的数据。