如何用Python拆分含@符号的列,将前后内容分至两列?
拆分@前后内容到不同列的Python实现
假设你是在处理表格数据(比如用pandas),或者单个字符串,下面给你两种场景的直白实现:
处理单个字符串
如果只是处理单个包含@的字符串,用split('@', 1)就能拆分,第二个参数1表示只拆分一次,避免@后面的内容里有@时被误拆:
text = "示例文本@2024-06-15 14:30" content, time_str = text.split('@', 1) print("拆分后的内容:", content) print("拆分后的时间:", time_str)
处理表格中的列(用pandas)
如果是处理Excel/CSV里的某一列,用pandas的str.split方法最方便,直接拆分到新列:
import pandas as pd # 示例数据,模拟你的表格 df = pd.DataFrame({ '原始列': [ '张三@2024-05-20', '李四@2024-06-10 09:15', '王五@2024-07-01' ] }) # 拆分到两列,expand=True表示把拆分结果展开成多列 df[['内容列', '时间列']] = df['原始列'].str.split('@', expand=True) print(df)
处理特殊情况
如果有的单元格没有@符号,拆分后会出现空值,可以用fillna填充默认值:
df[['内容列', '时间列']] = df['原始列'].str.split('@', expand=True).fillna('无对应内容')
内容的提问来源于stack exchange,提问作者Suyog Shah
相关产品推荐
相关产品推荐

