python正则表达式URL和字符串匹配分配给新变量
我在一列中有一个URL的csv,还有一列与这些URL关联的字符串(单词) 我想编写一个遍历每个URL的函数,如果URL中存在“/2019/”,则将其分配给名为“new_URL”的新变量,如果存在“/2018/”/2017/”(etc),则将其分配给名为“old_URL”的变量 我还希望它遍历第一列中的每个单词,如果“2019”或根本没有年份,则将其分配给一个名为“new_word”的新变量 列的示例:python正则表达式URL和字符串匹配分配给新变量,python,regex,string,parsing,url,Python,Regex,String,Parsing,Url,我在一列中有一个URL的csv,还有一列与这些URL关联的字符串(单词) 我想编写一个遍历每个URL的函数,如果URL中存在“/2019/”,则将其分配给名为“new_URL”的新变量,如果存在“/2018/”/2017/”(etc),则将其分配给名为“old_URL”的变量 我还希望它遍历第一列中的每个单词,如果“2019”或根本没有年份,则将其分配给一个名为“new_word”的新变量 列的示例: 现代奏鸣曲 2017吉普牧马人 2019本田雅阁 我一直在努力解决这个问题 但是我完全糊涂了,
现代奏鸣曲 2017吉普牧马人 2019本田雅阁 我一直在努力解决这个问题
但是我完全糊涂了,不能让它工作。有什么想法吗 只是一些简单的开始:
import re
sample_rows = [
("hyundai sonata rebate", "https://www.edmunds.com/hyundai/sonata/2018/deals"),
("2017 jeep wrangler", "https://www.edmunds.com/jeep/wrangler/2017/deals"),
("2019 honda accord", "https://www.edmunds.com/honda/accord/2019/deals"),
("1985 some old car", "https://www.edmunds.com/some/oldcar/1985/deals")
]
for row in sample_rows:
keywords = row[0]
url = row[1]
# the url
if "/2019/" in url:
new_url = url
print(f"new_url={new_url}")
elif re.search("/(?:(?:20)|(?:19))\d{2}/", url):
old_url = url
print(f"old_url={old_url}")
# the "words"
if "2019" in keywords:
new_word = keywords
print(f"new_word={new_word}")
elif re.search("(?:(?:20)|(?:19))\d{2}", keywords) is None:
new_word = keywords
print(f"new_word={new_word}")
如果不创建列表,而是在数据帧中的行中循环,有没有办法做到这一点