python利用xlrd库处理Excel

工作中经常需要处理Excel,所以自己稍微写了一个函数,方便以后自己使用.大家也可以借鉴下.

  • excel_file_name : 这里写Excel的路径,和python同一个目录下的话直接写文件名字即可
  • sheet_name : 写要处理的sheet的名字,默认Sheet1
  • start_row : 开始的行
  • end_row : 结束的行(默认所有行)
  • start_col : 开始的列
  • end_col : 结束的列(默认所有列)

返回一个列表,里面是根据首行Name形成的字典.应该能处理大多数excel.

复制代码
# -*- coding: utf-8 -*-
import xlrd


def read_excel(excel_file_name='hello.xlsx', sheet_name='Sheet1', start_row=0, end_row=0, start_col=0, end_col=0 ):
    try:
        data = xlrd.open_workbook(excel_file_name)
    except Exception as e:
        print(str(e))
    table = data.sheet_by_name(sheet_name)
    if end_row == 0:
        end_row = table.nrows
    column_names = table.row_values(start_row)
    if end_col == 0:
        end_col = len(column_names)
    excel_list = []
    for rownum in range(start_row+1, end_row):
        row = table.row_values(rownum)
        if row:
            app = {}
            for i in range(start_col, end_col):
                app[column_names[i]] = row[i]
            excel_list.append(app)
    return excel_list
相关推荐
骑士雄师几秒前
学生管理系统python版本比对
开发语言·python
William.csj1 分钟前
Linux——服务器后台运行程序指南(包含 Python 与 .sh 脚本实战)
linux·服务器·python
Cloud_Shy61810 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十章 Python 驱动的 Excel 工具 上篇)
vscode·python·数据分析·excel·pandas
EW Frontier11 分钟前
【信号分选】深度学习颠覆射频信号分离:UNet/WaveNet 性能碾压传统方法【附python代码】
python·深度学习·unet·wavenet·射频信号源分离·icassp信号处理挑战赛
2301_8092445312 分钟前
如何解决宝塔面板磁盘空间占满问题_使用磁盘清理工具清理
jvm·数据库·python
huzhongqiang14 分钟前
用元类实现类属性:打造更优雅的服务访问机制
后端·python
WL_Aurora15 分钟前
Python 算法基础篇之查找算法(一):顺序查找、二分查找与插值查找
开发语言·python·算法
2401_8676239823 分钟前
如何设置用户默认表空间_ALTER USER DEFAULT TABLESPACE
jvm·数据库·python
ftpeak23 分钟前
LangGraph Agent 开发指南(12~函数式 API)
人工智能·python·ai·langchain·langgraph
yivifu26 分钟前
跟水印杠上了——顺便巩固Tkinter的GUI编程
python·opencv·tkinter·去水印