python - 试图在 Python 的字符串的特定部分中查找所有唯一值

标签 python parsing csv url

我有一个 URL 列表,我正在尝试解析这些 URL 并在每个 URL 中查找 utm 代码。我首先想找到 utm 之后的唯一值,即 utm_source 并使用这些值中的每一个创建新列。我要寻找的最后一件事是类似

来源网址: https://website.com/donate?utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en

来源: 网站

介质: 邮箱

事件: 事件1

uuid: 999124

语言: zh

现在我有以下内容:

import pandas as pd

email_list = pd.read_csv('/Users/rethompsoniii/Documents/Work-Related/Jeb 2016/email_list_20150804.csv', sep=',', header=0, error_bad_lines=False, index_col=False, dtype='unicode')

url = email_list['SourceUrl']

utms = url.split("utm",1)[1]

print(utms)

但是,utms 线路目前也出现故障。不是在找人给我所有的代码,只是为了给我指明正确的方向。非常感谢

最佳答案

您可以使用 urlparse图书馆。

首先,您可以使用 urlparse.urlparse() 函数将 url 解析为其相应的组件。

>>> import urlparse
>>> url = "https://website.com/donate?utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en"
>>> parsed_url = urlparse.urlparse(url)
>>> parsed_url
ParseResult(scheme='https', netloc='website.com', path='/donate', params='', query='utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en', fragment='')
>>> parsed_url.query
'utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en'

从解析的 url 中,您可以使用另一个函数 urlparse.parse_qs() 解析查询

>>> parsed_query = urlparse.parse_qs(parsed_url.query)
>>> parsed_query
{'lang': ['en'], 'utm_campaign': ['campaign1'], 'utm_medium': ['email'], 'uuid': ['999124'], 'utm_source': ['site']}

关于python - 试图在 Python 的字符串的特定部分中查找所有唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832801/

相关文章:

php - 需要一些有关通过 CSV 导入订单的 Mysql 帮助和建议

php - 将字符串转换为准备好的语句中的变量

python - 关注使用 python tweepy 发布特定主题标签的用户?

php - 需要解析ini文件来提取值

c++ - 正则表达式是否足以分析大文本?

用于 trac 样式格式的 php wiki 解析器

pandas - 将 netCDF 数据导入 pandas DataFrame

python - 如何向日期时间对象添加缺失的秒数

python - 当我将 python3.7 降级到 python3.6 时,查找 'virtualenvwrapper.hook_loader' 的模块规范时出错

python - 'Q' 对象没有属性 'split' - Django