zoukankan      html  css  js  c++  java
  • 【python练习】openpyxl操作excel练习

    '''项目2:将目录下的多个商品信息文件写入同一个excel文件
    任务1:在当前目录的项目1文件夹中创建一个excel文件
    任务2:修改excel工作表名为:汇总信息
    任务3:文件表头为:商品名: 价格:
    任务4:将txt文本内容按照表头复制到excel中
    '''
    import openpyxl
    import os
    from openpyxl.styles import Font, PatternFill
    
    '''创建excel'''
    path = os.path.join(os.getcwd(), '项目二', '汇总.xlsx')
    wb = openpyxl.Workbook()
    ws = wb.active
    
    "操作表头"
    ws.title = '汇总信息'
    ws['A1'] = '商品信息'
    ws['A1'].font = Font('华文细黑', size=12, bold=True, color='BF3EFF')
    ws['A1'].fill = PatternFill('solid', fgColor='ff9933')  #  RGB填充
    ws['B1'] = '价格'
    ws['B1'].font = Font('华文细黑', size=12, bold=True, color='BF3EFF')
    ws['B1'].fill = PatternFill('solid', fgColor='ff9933')  #  RGB填充
    
    result = []  # 存储处理后的信息
    dir_name = os.path.join(os.getcwd(), '项目二')
    for file in os.listdir(dir_name):  # 遍历目录下的文件
        file_name = os.path.join(os.getcwd(), '项目二', file)  #C:\Users\z0\PycharmProjects\OJ\simple\项目二\1.txt
        with open(file_name, mode='r', encoding='utf-8') as f:
            content = f.readlines()  #  将txt内容写入列表
        for i in range(0, len(content), 4):  # 对内容进行处理,提取关键信息,分析提取到的列表,每4个元素为一个商品信息。
            result.append(content[i+2].strip('\n'))  # 提取商品信息
            result.append(content[i][4:].strip('\n'))  # 提取价格
            print(result) # ['高梵 【热销爆款】 魔力修身羽绒背心女短款显瘦保暖羽绒马甲', '86']
    
        "将提取的内容写入excel中"
        end_num ="B"+ str(len(result)//2 +1) #获取区域的最后位置 B21
        '''在区域内一次写入内容'''
        i = 0  #列表索引
        for line in ws['A2':end_num]:
            for cell in line:  # cell 为单元格对象 <Cell '新数据表'.B1>
                ws[cell.coordinate] = result[i]  # cell.coordinate属性获取单元格的行列信息
                i += 1
    "保存excel文件"
    wb.save(path)   #生成excel文件
    

      

  • 相关阅读:
    Java高并发24-使用自定义锁生成一个消费模型
    Java高并发连载23-基于AQS实现自定义同步器
    JavaScript连载38-编写评论界面
    Java高并发22-AQS条件变量的支持
    Java高并发21-AQS在共享,独占场景下的源码介绍
    SSH 集成Shiro和EhCache,设置登录超时时间无效解决办法。
    Vue3.0 + Echarts 实现地区人口数量分布展示
    从零开始学VUE之网络模块(Axios)
    从零开始学VUE之VueX(modules)
    从零开始学VUE之VueX(actions)
  • 原文地址:https://www.cnblogs.com/zhaoyujiao/p/15565956.html
Copyright © 2011-2022 走看看