Python 如何使用另一列中的现有数据在.csv中添加列?

Python 如何使用另一列中的现有数据在.csv中添加列?,python,pandas,csv,Python,Pandas,Csv,在“详细信息”列中,每个条目都有“Mobile”和“Email”文本。我想使用Python代码在不同的单独列中分离出相应条目的手机号码和电子邮件ID 请帮忙。 提前谢谢!你可以试试这样的东西- import pandas as pd data = pd.read_csv('AIOS_data.csv') data['Mobile'] = data['Mobile'].str.extract(r'(Mobile[\d|\D]+Email)') data['Mobile'] = data['Mobi

在“详细信息”列中,每个条目都有“Mobile”和“Email”文本。我想使用Python代码在不同的单独列中分离出相应条目的手机号码和电子邮件ID

请帮忙。
提前谢谢!

你可以试试这样的东西-

import pandas as pd
data = pd.read_csv('AIOS_data.csv')
data['Mobile'] = data['Mobile'].str.extract(r'(Mobile[\d|\D]+Email)')
data['Mobile'] = data['Mobile'].str.replace('[Mobile:|Email:]', '').str.strip()
data['Email']  = data['Email'].str.extract(r'(Email:[\d|\D]+)')
data['Email']  = data['Email'].str.replace('Email:','').str.strip()
与regex一起用于筛选值
Mobile
Email
之间的值,
\s*
表示零或一些空格,
(.*)
表示提取以下值之间的任何值:

df[['Mobile','Email']] = df['Details'].str.extract('Mobile:\s*(.*)\s+Email:\s*(.*)')
如果您还需要地址:

cols = ['Address','Mobile','Email']
df[cols] = df['Details'].str.extract('Address:\s*(.*)\s*Mobile:\s*(.*)\s+Email:\s*(.*)')

在不提供完整代码的情况下,我想您必须采取三个步骤:

  • 将csv文件读入内存。Python有一个名为
    csv
    ()

  • 完成此操作后,您可以遍历每一行,并在
    detail
    中搜索移动电话号码和电子邮件地址。如果
    detail
    总是以相同的方式编写,您可以使用
    str.find()
    方法()进行搜索

  • 例如

    detail=“地址:东南部梅图街108/81-B…KKAL泰米尔纳德邦637409移动电话:9789617285电子邮件:Leens1794@gmail.com"
    mobile#u start=detail[detail.find(“mobile:”)+8:#=>“9789617285电子邮件:Leens1794@gmail.com'
    mobile=mobile_start[:mobile_start.find(“”)]#=>“9789617285”
    
    (您对电子邮件也这样做)

  • 您将结果(移动和电子邮件)存储在一个新列中,并将其导出为csv,再次使用“csv”模块

  • 请在问题中发布相同的数据而不是链接好吗?@Sajan它有超过21k个条目,如何在问题中发布电子表格?前几行就足够了。请检查下面的答案。@Sajan谢谢!问题已经解决了!是的,谢谢!请检查编辑过的代码以删除尾随空格。该检查应该已收到。谢谢@jezrael。请检查编辑的答案以满足OP的要求。