Python 如何使用另一列中的现有数据在.csv中添加列?
在“详细信息”列中,每个条目都有“Mobile”和“Email”文本。我想使用Python代码在不同的单独列中分离出相应条目的手机号码和电子邮件ID 请帮忙。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
提前谢谢!你可以试试这样的东西-
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
()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”
(您对电子邮件也这样做)
请在问题中发布相同的数据而不是链接好吗?@Sajan它有超过21k个条目,如何在问题中发布电子表格?前几行就足够了。请检查下面的答案。@Sajan谢谢!问题已经解决了!是的,谢谢!请检查编辑过的代码以删除尾随空格。该检查应该已收到。谢谢@jezrael。请检查编辑的答案以满足OP的要求。