• python3读取excel


    说明

    • 2007版以前的Excel(xls结尾的),需要使用xlrd读,xlwt写。
    • 2007版以后的Excel(xlsx结尾的),需要使用openpyxl来读写。

    pypi的地址:

    openpyxl文档地址:

    https://openpyxl.readthedocs.io/en/latest/changes.html

    举个栗子

    # -*- coding: utf-8 -*-
    # 读写2003 excel
    import xlrd
    import xlwt
    # 读写2007 excel
    import openpyxl
    
    
    def write03Excel(path):
        wb = xlwt.Workbook()
        sheet = wb.add_sheet("2003测试表")
        value = [["名称", "价格", "出版社", "语言"],
                 ["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
                 ["暗时间", "32.4", "人民邮电出版社", "中文"],
                 ["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
        for i in range(0, 4):
            for j in range(0, len(value[i])):
                sheet.write(i, j, value[i][j])
        wb.save(path)
        print("写入数据成功!")
    
    
    def read03Excel(path):
        workbook = xlrd.open_workbook(path)
        sheets = workbook.sheet_names()
        worksheet = workbook.sheet_by_name(sheets[0])
        for i in range(0, worksheet.nrows):
            row = worksheet.row(i)
            for j in range(0, worksheet.ncols):
                print(worksheet.cell_value(i, j), "	", end="")
            print()
    
    
    def write07Excel(path):
        wb = openpyxl.Workbook()
        sheet = wb.active
        sheet.title = '2007测试表'
    
        value = [["名称", "价格", "出版社", "语言"],
                 ["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
                 ["暗时间", "32.4", "人民邮电出版社", "中文"],
                 ["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
        for i in range(0, 4):
            for j in range(0, len(value[i])):
                sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
    
        wb.save(path)
        print("写入数据成功!")
    
    
    def read07Excel(path):
        wb = openpyxl.load_workbook(path)
        sheet = wb.get_sheet_by_name('2007测试表')
    
        for row in sheet.rows:
            for cell in row:
                print(cell.value, "	", end="")
            print()
    
    
    file_2003 = 'data/2003.xls'
    file_2007 = 'data/2007.xlsx'
    
    write03Excel(file_2003)
    read03Excel(file_2003)
    
    write07Excel(file_2007)
    read07Excel(file_2007)




    输出结果:

    
    
  • 相关阅读:
    属性包装
    生成器
    迭代器
    深拷贝-浅拷贝
    装饰器-wrapper
    类别不均衡
    参数优化-学习曲线
    参数优化-验证曲线
    参数优化-API
    D. Number Of Permutations 符合条件的排列种类
  • 原文地址:https://www.cnblogs.com/hally/p/9105964.html
Copyright © 2020-2023  润新知