zoukankan      html  css  js  c++  java
  • python操作Excel读写--使用xlrd

    安装xlrd

    下载地址:https://pypi.python.org/pypi/xlrd

     一、Excel读写基本操作

    1.导入模块

    import xlrd

    2.打开excel文件读取数据

    data = xlrd.open_workbook(excelPath)

    3.使用方法

    (1)获取工作表

    table = data.sheets()[0] # 通过索引顺序获取
    table = data.sheet_by_index(0) # 通过索引顺序获取、
    table = data.sheet_by_name(u'Sheet1') # 通过名称获取

    (2)获取整行整列的值

    table.row_values(i)
    table.col_values(i)

    (3)获取行数和列数

    nrows = table.nrows
    ncols = table.ncols

    (4)循环获取行列表数据

    for i in range(nrows):
        print(table.row_values(i))

    (5)循环获取行列表数据

    cell_A1 = table.cell(0, 0).value
    cell_C4 = table.cell(3, 2).value
    #使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value

    二、代码实例

    import xlrd
    def open_excel(file):
        try:
            data = xlrd.open_workbook(file)
            return data
        except Exception as e:
            print(str(e))
    
    #根据索引获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_index:表的索引
    def excel_table_byindex(file,colnameindex=0,by_index=0):
        data = open_excel(file)
        table = data.sheets()[by_index]
        nrows = table.nrows #行数
        colnames =  table.row_values(colnameindex) #某一行数据
        list =[]
        for rownum in range(1,nrows):
    
             row = table.row_values(rownum)
             if row:
                 app = {}
                 for i in range(len(colnames)):
                    app[colnames[i]] = row[i]
                 list.append(app)return list
    
    #根据名称获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_name:Sheet1名称
    def excel_table_byname(file,colnameindex=0,by_name=u'Sheet1'):
        data = open_excel(file)
        table = data.sheet_by_name(by_name)
        nrows = table.nrows #行数
        colnames =  table.row_values(colnameindex) #某一行数据
        list =[]
        for rownum in range(1,nrows):
             row = table.row_values(rownum)
             if row:
                 app = {}
                 for i in range(len(colnames)):
                    app[colnames[i]] = row[i]
                 list.append(app)
        return list
    
    def main():
       excelPath="F:\pycharm\IO\data.xlsx"
       tables = excel_table_byindex(excelPath)
       for row in tables:
           print(row)
    
       tables = excel_table_byname(excelPath)
       for row in tables:
           print(row)
    
    if __name__=="__main__":
        main()

     

     输出以下内容:

    {'username': 'admin', 'password': 123456.0}
    {'username': 'hjh', 'password': 'jpmark961203'}
    {'username': 'admin', 'password': 123456.0}
    {'username': 'hjh', 'password': 'jpmark961203'}

  • 相关阅读:
    如何避免delete和delete[]的尴尬?
    笔面集锦:判断单链表里面是否有环及相关扩展题(转)
    各排序算法的C++实现与性能测试(转)
    五个好的C语言编程实践
    Reviewboard管理员指南(5.5)—— Permission Groups(重要)
    Jenkins CLI getjob与RoleBased Strategy的那点事
    Reviewboard管理员指南(5.4)—— Default Reviewers(重要)
    Reviewboard管理员指南(4.2)—— Administrator Dashboard
    Maven Nexus admin密码重置的方法
    Reviewboard管理员指南(5.2)—— Access Control(重要)
  • 原文地址:https://www.cnblogs.com/hjhsysu/p/5702285.html
Copyright © 2011-2022 走看看