zoukankan      html  css  js  c++  java
  • python3 excel读、写、修改操作

    python3上Excel文件操作的库比较多,新手一开始不知道如何选择合适的库,故整理如下:

    • xlwt: 只能写不能读,只支持python2.3到python2.7版本,只支持xls文件。
    • xlrd :只能读不能写
    • xlutils :修改并保存
    • openpyxl :可以实现对xlsx格式的读、写、修改,支持python3.x。个人推荐这个库

    xlrd

    # 打开文件
    workbook1 = xlrd.open_workbook(user,formatting_info=False)
    
    # 获取所有sheet
    print("所有工作表:",workbook1.sheet_names())
    sheet1 = workbook1.sheet_by_index(0)
    
    # 获取整行的值
    print(sheet1.row_values(0))
    
    # 获取某个单元格的值,行、列下标均从0开始
    print(sheet.cell_value(row,line))
    

    xlutils

    # 打开文件
    workbook1 = xlrd.open_workbook(user,formatting_info=False)
    workbook2 = copy(workbook1)
    
    # xlutils 获取 sheet
    sheet_new = workbook2.get_sheet(0)
    
    # 单元格更新,行、列均下标均从0开始
    sheet_new.write(row,line,'通过')
    
    # 保存
    workbook2.save("../testdata/result.xls")
    

    Openpyxl

    import openpyxl
    
    filename="../testdata/user.xlsx"
    # 1.打开文件
    wb = openpyxl.load_workbook(filename,read_only=False)
    
    print(wb.sheetnames)
    
    # 2.选择工作表
    ws = wb[wb.sheetnames[0]]
    print(ws)
    
    # 3.遍历单元格
    for row in ws.rows:
        for cell in row:
            print(cell.value)
    
    # 4.存储数据
    # 方式一:数据可以直接分配到单元格中(可以输入公式)
    ws['A1'] = 42
    ws.cell(row=1,column=2, value="test")
    # 方式二:可以附加行,从第一列开始附加(从最下方空白处,最左开始)(可以输入多行)
    ws.append([1, 2, 3])
    # 方式三:Python 类型会被自动转换
    ws['A3'] = datetime.datetime.now().strftime("%Y-%m-%d")
    
    # 5.保存数据
    wb.save('文件名称.xlsx')
    

    参考:http://www.52codes.net/develop/shell/58896.html

  • 相关阅读:
    vSphere笔记01~02
    【科普】人眼到底等于多少像素
    《标题党》自我修炼的10个秘籍
    说说云盘背后的黑科技!
    用shell批量编码转换
    Java课设--俄罗斯方块Tetris
    教程,Python图片转字符堆叠图
    谈谈索引的哲学思想
    MySQL索引实战经验总结
    博客要转型啦
  • 原文地址:https://www.cnblogs.com/amyzhu/p/14203816.html
Copyright © 2011-2022 走看看