jinguanzhang2019 2023-02-16 15:51 采纳率: 58.3%
浏览 140
已结题

python 在excel 中的单元格提取出数字

python 在excel 里,有下面的 数据

请问如何 提取出单元格里面的 几组数字(有小数点的也是一组数字)出来

如: 付5.9好平文字饭4元 提取出 5.9 和 4 出来

同时判断 单元格里面有多少组数字

付款4.9 元 三图+15字,好平饭 3 圆
付5.9好平文字饭4元
付5.9好平文字饭4元
付6.9 好平反5元[胜利]
付6.9好平带图饭5元
付6.9好平饭4元
付7.9好平带图饭6元
付7.9好平文字饭6元
付7.9平给5[胜利]
付9.9好平带图饭7元
付9.9好平饭7元
付9.9好平饭7元
付款3.9元 晒图好平饭2.4圆
付款3元 晒图好平饭1.7圆
付款6.8元 晒图平价饭5圆

  • 写回答

12条回答 默认 最新

  • qq_46161207 2023-02-16 17:01
    关注

    你可以使用Python中的正则表达式(regex)来提取单元格中的数字,以下是一个示例代码,其中使用了re.findall方法来查找数字,并返回一个列表,列表的长度即为单元格中数字的数量:

    import re
    import openpyxl
    
    # 打开Excel文件,获取工作簿对象和工作表对象
    wb = openpyxl.load_workbook('example.xlsx')
    ws = wb.active
    
    # 遍历单元格,提取数字
    for row in ws.iter_rows(min_row=1, min_col=1, max_row=ws.max_row, max_col=ws.max_column):
        for cell in row:
            # 使用正则表达式查找数字,返回一个列表
            numbers = re.findall(r'\d+(?:\.\d+)?', cell.value)
            # 打印单元格中的数字及其数量
            print(f'单元格 {cell.coordinate} 中的数字为:{numbers},数量为:{len(numbers)}')
    

    在这个示例中,我们使用re.findall方法来查找单元格中的数字,正则表达式\d+(?:.\d+)?表示匹配一组数字,可以包括小数点,其中\d+表示匹配一个或多个数字,.表示匹配小数点,\d+表示匹配小数点后的一个或多个数字,(?:.\d+)?表示这一组数字可以包括小数点,也可以不包括。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(11条)

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月21日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错