• 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

  • 相关阅读:
    Leetcode Spiral Matrix
    Leetcode Sqrt(x)
    Leetcode Pow(x,n)
    Leetcode Rotate Image
    Leetcode Multiply Strings
    Leetcode Length of Last Word
    Topcoder SRM 626 DIV2 SumOfPower
    Topcoder SRM 626 DIV2 FixedDiceGameDiv2
    Leetcode Largest Rectangle in Histogram
    Leetcode Set Matrix Zeroes
  • 原文地址:https://www.cnblogs.com/amyzhu/p/14203816.html
Copyright © 2020-2023  润新知