一、简介
xlrd是一个Python库,用于读取Excel文件(.xls和.xlsx格式)。它允许你提取Excel表格中的数据,并将其转换为Python可以处理的数据结构,如列表和字典。在本教程中,我们将学习如何使用xlrd模块来读取Excel文件。
二、安装
要使用xlrd模块,首先需要安装它。你可以使用pip命令来安装:
pip install xlrd
三、基本使用
1.打开Excel文件
使用xlrd模块,你需要首先通过调用open_workbook函数来打开一个Excel文件。
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook('example.xls')
2.选择工作表
一个Excel文件通常包含多个工作表。你需要选择你想要读取的工作表。
# 通过索引选择第一个工作表(索引从0开始)
sheet = workbook.sheet_by_index(0)
# 或者通过名称选择工作表
sheet = workbook.sheet_by_name('Sheet1')
3.读取单元格数据
使用cell_value方法,你可以读取工作表中特定单元格的数据。
# 读取第一行第一列(索引从0开始)的单元格数据
cell_value = sheet.cell_value(0, 0)
print(cell_value)
4.读取行和列数据
你可以使用row_values和col_values方法来读取整行或整列的数据。
# 读取第一行的所有单元格数据
row_data = sheet.row_values(0)
print(row_data)
# 读取第一列的所有单元格数据
col_data = sheet.col_values(0)
print(col_data)
5.获取工作表信息
你可以使用nrows和ncols属性来获取工作表的行数和列数。
# 获取工作表的行数
num_rows = sheet.nrows
print(num_rows)
# 获取工作表的列数
num_cols = sheet.ncols
print(num_cols)
6.日常读取一个完整excel文件示例
# 工作读取excel模板
import xlrd
# 打开excel文件
def open_excel(file_path):
try:
data = xlrd.open_workbook(file_path)
return data
except Exception as e:
print(str(e))
# 根据索引获取excel表格的数据
def excel_table_byindex(file_path, colnameindex=0, by_index=0):
"""
:param file_path: 文件的路劲
:param colnameindex: 表头列
:param by_index: 工作表的索引
:return: 数据
"""
data_obj = open_excel(file_path)
# table = data_obj.sheets()[by_index]
table = data_obj.sheet_by_index(by_index)
nrows = table.nrows # 总行数
# ncols = table.ncols # 总列数
# 工作表标题列数据
colnames = table.row_values(colnameindex)
data_list = []
for rownum in range(1, nrows):
row_value = table.row_values(rownum)
if row_value:
app = {}
for i in range(len(colnames)):
app[colnames[i]] = row_value[i]
data_list.append(app)
return data_list
# 主文件
def main():
tables = excel_table_byindex('User_201905.xls')
for row in tables:
print(row)
四、处理日期和时间
xlrd模块能够自动处理Excel中的日期和时间格式,将其转换为Python的datetime对象。
# 假设A1单元格包含一个日期
date_cell = sheet.cell(0, 0)
# 如果单元格包含日期,xlrd会将其转换为datetime对象
if date_cell.ctype == xlrd.XL_CELL_DATE:
import datetime
date_value = date_cell.value
python_date = datetime.datetime(*xlrd.xldate_as_tuple(date_value, workbook.datemode))
print(python_date)
五、注意事项
• 确保Excel文件的路径和名称正确无误。
•xlrd从版本2.0.0开始不再支持.xlsx格式的文件,仅支持老版本的.xls格式。如果你需要读取.xlsx文件,可以考虑使用openpyxl或pandas库。
• 在处理大型Excel文件时,注意内存使用,避免一次性加载整个文件到内存中。
六、总结
xlrd是一个强大的Python库,用于读取Excel文件中的数据。通过本教程,你应该对如何使用xlrd模块有了基本的了解,并能够开始在你的项目中读取和处理Excel文件。
领取专属 10元无门槛券
私享最新 技术干货