Python/Pandas 如何给字符串中的每个数字后添加逗号
Pandas DataFrame文本数字末尾批量加逗号解决方案
实现思路
通过正则负向预查匹配所有后方未紧跟逗号的连续数字,替换为「原数字+逗号」,pandas内置的str.replace方法原生支持正则批量替换,可高效处理整列大规模文本数据。
代码实现
若尚未导入pandas先执行导入:
import pandas as pd
假设待处理数据存储在DataFrame变量df中,文本列名为text,执行以下代码即可完成需求:
df['text'] = df['text'].str.replace(r'(\d+)(?!,)', r'\1,', regex=True)
正则规则说明
(\d+):捕获1个及以上的连续数字,存入捕获组1(?!,):负向先行断言,仅当匹配到的数字后方没有紧跟逗号时,才会触发替换逻辑\1,:将匹配到的内容替换为捕获组1的原数字,末尾拼接逗号
效果验证
以你给出的示例测试:
输入:
"blablabla 23423451, neemememem 5688234 hhojvz 3451, yoea"
输出:"blablabla 23423451, neemememem 5688234, hhojvz 3451, yoea"
完全符合预期,已有逗号的数字不会重复添加,无逗号的数字自动补全,覆盖数字在字符串中间、末尾等所有场景。
内容的提问来源于stack exchange,提问作者Aleksandr Pay
相关产品推荐
相关产品推荐

