• python操作excel文件:读取、写入、新建表、移除表


    #使用python操作excel文件时,需要导入第三方库openpyxl,可使用命令python -m pip install openpyxl进行安装
    import openpyxl#导入openpyxl库
    from openpyxl import Workbook#导入Workbook

    #注意:对excel文件进行操作时,文件要保持关闭状态

    #写入:
    wb=Workbook()#创建工作表
    ws=wb.active#获取文件当前活动sheet
    ws['A1']='hello'#表示在A1单元格写入’hello‘
    ws.append([1,2,3,4])#表示在第一行单元格依次写入1,2,3,4
    # # ws.append({'A':"tom",'C':2})#表示A1="tom",C1=2
    # # ws.append({'1':"tom",'3':2})#同样表示A1="tom",C1=2
    wb.save(r"./test.xlsx")#保存excel文件

    #多行写入
    wb=Workbook()#创建工作表
    ws=wb.active#获取文件当前活动sheet
    data=[[1,2,3,4],[5,6,7,8]]#使用列表嵌套列表的形式存储要写入每一行的数据
    for t in range(1,len(data)+1):#遍历要写入的行数
    i = 65#ASCII码'65'表示'A'
    for j in range(1,len(data[t-1])+1):#遍历每行要写入的数量
    ws['%s%d'%(chr(i),t)]=data[t-1][j-1]
    i+=1
    wb.save(r"./test.xlsx")#保存excel文件

    #读取
    get_wb=openpyxl.load_workbook(r"./test.xlsx")#获取工作簿
    get_sheet=get_wb['Sheet']#获取工作表
    get_cell=get_sheet['A2']#获取指定单元格
    print(get_cell.row,get_cell.column,get_cell.value)#输出行号、列号、值:2 1 jack

    result=[]#定义列表result存储所有读取数据
    #使用循环遍历工作表每一行
    for i in get_sheet:#遍历工作表每一行
    tmp=[]#定义列表tmp存储每行数据
    for t in i:#遍历行中的每个单元格
    tmp.append(t.value)
    result.append(tmp)
    print(result)#[['tom', 2, 3, 4], ['jack', None, None, None]]

    #新建表写入数据
    wb = Workbook()#创建工作表
    wb.create_sheet('表1',0)#新建表“表1”,索引为0
    ws=wb['表1']#使用表“表1”
    ws['A1']='123'#插入数据
    wb.save(r'./test.xlsx')#保存数据

    #新建多张表、指定表头、删除表
    data={'成功':[[1,2,3],[4,5,6]],'失败':[[6,5,4],[3,2,1]]}
    def new_sheet(argv:dict,head=None):
    wb = Workbook() # 创建工作表
    k = argv.keys()
    for sheet_name in k:
    try:
    wb.remove(sheet_name)#如表已存在则移除工作表
    except:
    pass
    wb.create_sheet(sheet_name,0)
    ws=wb[sheet_name]
    if head:
    ws.append(head)#插入表头
    sheet_data=argv[sheet_name]
    for t in range(1, len(sheet_data) + 1): # 遍历要写入的行数
    i = 65 # ASCII码'65'表示'A'
    for j in range(1, len(sheet_data[t - 1]) + 1): # 遍历每行要写入的数量
    ws['%s%d' % (chr(i), t+1)] = sheet_data[t - 1][j - 1]
    i += 1
    wb.save(r"./test.xlsx") # 保存excel文件
    new_sheet(data,head=['l1','l2','l3'])
  • 相关阅读:
    php对接微信小程序支付
    微信小程序/网站 上传图片到腾讯云COS
    php+smarty轻松开发微社区/微论坛
    精简商务合同管理系统开发
    MyBatis返回map数据
    MyBatis(五)select返回list数据
    MyBatis(四)多参数处理问题
    MyBatis(三)MyBatis的增删改查
    dbconfig.properties
    MyBatis入门(二)接口式编程
  • 原文地址:https://www.cnblogs.com/ttj57/p/13589052.html
Copyright © 2020-2023  润新知