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
相关推荐
nbsaas-boot38 分钟前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
仗剑_走天涯41 分钟前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
chao_78942 分钟前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
chao_7895 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
烛阴6 小时前
Python装饰器解除:如何让被装饰的函数重获自由?
前端·python
noravinsc6 小时前
django 一个表中包括id和parentid,如何通过parentid找到全部父爷id
python·django·sqlite
ajassi20006 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
沉默媛7 小时前
如何安装python以及jupyter notebook
开发语言·python·jupyter
Deng9452013148 小时前
基于Python的旅游数据可视化应用
python·numpy·pandas·旅游·数据可视化技术
2401_878624798 小时前
pytorch 自动微分
人工智能·pytorch·python·机器学习