如何将DataFrame列中逗号分隔的姓名转换为各姓名带双引号的格式
实现方案
你可以直接用pandas的字符串处理函数完成转换,下面提供两种常用实现方式,假设你的DataFrame变量名为df,待处理的列名为target_col:
方法1:正则替换(代码更简洁)
直接用正则匹配每一个姓名片段,统一添加双引号,不需要拆分拼接:
df['target_col'] = df['target_col'].str.replace(r'([^,]+)', r'"\1"', regex=True)
方法2:拆分后拼接(可读性更高)
先按, 拆分单个姓名,给每个姓名加双引号后再拼接成字符串:
df['target_col'] = df['target_col'].str.split(', ').apply(lambda x: ', '.join(f'"{name}"' for name in x))
测试验证
你可以用下面的代码验证效果:
import pandas as pd # 构造测试数据 df = pd.DataFrame({ 'target_col': [ 'Albert Ross, Flyn Gibby', 'Mark Cuban, Brian Hilbert', 'Jim Lampert, Gilgan Smalls' ] }) # 执行转换(两种方法二选一即可) df['target_col'] = df['target_col'].str.replace(r'([^,]+)', r'"\1"', regex=True) print(df)
输出结果和你要求的格式完全一致:
target_col 0 "Albert Ross", "Flyn Gibby" 1 "Mark Cuban", "Brian Hilbert" 2 "Jim Lampert", "Gilgan Smalls"
注意事项
如果你的姓名内容本身包含逗号,需要调整分隔符规则,无特殊格式的场景下上述两种方法都可直接使用。
内容的提问来源于stack exchange,提问作者QMan5
相关产品推荐
相关产品推荐

