python学习 21 excel分列

简单做了个模板,能干这个:

指定sheet中某列数据进行按需拆分,拆分后新建一个test的sheet,将数据分别存入test的不同列中。

import os
import xlwings as  xw
import re
#excel路径
path=r'C:\Users\xxx\Desktop\123.xlsx'

#设置需要分列的sheet名
sheetname='Sheet1'
#设置需要分列的列名
colname='B'
#开始单元格
rowb=2
#结束单元格
rowe=25

def excel分列(path):
    excelapp=xw.App(visible=False, add_book=False)
    #打开excel
    excel = excelapp.books.open(path)
    #获取sheets
    sheet = excel.sheets
    #增加一个拆分用sheet,test
    if sheet[0].name !='test':
        sheet.add('test', before=sheet[0].name)
    #print(sheet[0].name)
    sheet2 = excel.sheets['Sheet1']

    #设置拆分条件,这里以复合字串为例,型如:你好123+好的234,拆成:你好,123,+,好的234
    num1=re.compile('\w.[0-9]')
    #print(re.findall(num1,sheet2.range('b2:b25').value[0])[0][:-1])
    num2=re.compile('\d++')
    #print(re.findall(num2,sheet2.range('b2:b25').value[0])[0])
    num3=sheet2.range('b2:b25').value[0].split('+')
    #print(num3[1])

    t1=[]
    t2=[]
    t3=[]
    t4=[]

    #拆分取值
    for i in sheet2.range(colname+str(rowb)+':'+colname+str(rowe)).value:
        t1.append(re.findall(num1,i)[0][:-1])
        t2.append(re.findall(num2,i)[0])
        t3.append('+')
        t4.append(i.split('+')[1])
    #print(t1,t2,t3,t4)
    #将拆分数据填入test中
    sheet3=excel.sheets['test']
    for i in range(len(t1)):
        sheet3.range('A'+str(i+1)).value=t1[i]
        sheet3.range('B' + str(i + 1)).value = t2[i]
        sheet3.range('C' + str(i + 1)).value = t3[i]
        sheet3.range('D' + str(i + 1)).value = t4[i]



    excel.save()
    excel.close()
    excelapp.quit()

excel分列(path)

相关推荐

  1. python学习 21 excel分列

    2023-12-30 13:56:02       62 阅读
  2. python学习笔记22 excel汇总

    2023-12-30 13:56:02       77 阅读
  3. EXCEL+PYTHON学习2:

    2023-12-30 13:56:02       42 阅读
  4. excel+python学习3

    2023-12-30 13:56:02       37 阅读
  5. Python学习DAY14_文档处理_Excel

    2023-12-30 13:56:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 13:56:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 13:56:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 13:56:02       82 阅读
  4. Python语言-面向对象

    2023-12-30 13:56:02       91 阅读

热门阅读

  1. Go语言中的包管理工具之Go Vendor的使用

    2023-12-30 13:56:02       59 阅读
  2. K8s-安全机制

    2023-12-30 13:56:02       39 阅读
  3. Thinkphp 5框架学习

    2023-12-30 13:56:02       62 阅读
  4. js中的 == 比较规则

    2023-12-30 13:56:02       54 阅读
  5. 深度学习:走向智能时代的引擎

    2023-12-30 13:56:02       47 阅读
  6. C语言浮点类型、值和精度范围

    2023-12-30 13:56:02       60 阅读
  7. 油猴脚本开发,之如何添加html和css

    2023-12-30 13:56:02       62 阅读
  8. ArkTS语言基础入门学习-鸿蒙开发

    2023-12-30 13:56:02       54 阅读
  9. 安装驱动导致ubuntu开不了机

    2023-12-30 13:56:02       52 阅读