jinguanzhang2019 2023-02-16 15:51 采纳率: 70%
浏览 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 有人懂怎么做大模型的客服系统吗?卡住了卡住了
  • ¥20 firefly-rk3399上启动卡住了
  • ¥15 如何删除这个虚拟音频
  • ¥50 hyper默认的default switch
  • ¥15 网站打不开,提示502 Bad Gateway
  • ¥20 基于MATLAB的绝热压缩空气储能系统代码咨询
  • ¥15 R语言建立随机森林模型出现的问题
  • ¥15 中级微观经济学,生产可能性边界问题
  • ¥15 TCP传输时不同网卡传输用时差异过大
  • ¥15 请各位看看我写的属于什么算法,或者有更正确的写法?