Python 根据csv文件更改字符串
我必须打开几个网站来检查一些东西。每个页面链接之间的唯一区别是我存储在CSV文件中的id。 我想遍历CSV文件并替换每个网站的id 我想用replace语句来做这件事,并更改链接中的xxx。但它不会更改id,并多次尝试打开与xxx的链接Python 根据csv文件更改字符串,python,csv,replace,Python,Csv,Replace,我必须打开几个网站来检查一些东西。每个页面链接之间的唯一区别是我存储在CSV文件中的id。 我想遍历CSV文件并替换每个网站的id 我想用replace语句来做这件事,并更改链接中的xxx。但它不会更改id,并多次尝试打开与xxx的链接 import webbrowser import csv link = "https://website.com/de/tour/xxx/geometrie.html" with open('spielbergList.csv', 'rb') as f:
import webbrowser
import csv
link = "https://website.com/de/tour/xxx/geometrie.html"
with open('spielbergList.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
print(row)
link.replace("xxx", str(row))
webbrowser.open(link)
print(link)
link = "https://website.com/de/tour/xxx/geometrie.html"
字符串的replace方法返回一个新字符串,并且不会就地修改旧字符串,因此您必须在另一个变量中捕获新字符串或重新使用链接变量
link = link.replace("xxx", str(row))
原因是字符串是不可变的(创建后不能修改)
str.replace
返回一个新字符串,因此您必须捕获它:
link=link.replace(“xxx”,str(row))
尽管最好使用“模板”url,而不是在每次迭代中使用xxx
将link
重新分配到url。
具有模板url并使用格式
创建所需url的示例:
import webbrowser
import csv
basic_url = "https://website.com/de/tour/{}/geometrie.html"
with open('spielbergList.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
print(row)
webbrowser.open(basic_url.format(row))
您也可以使用
格式
for row in reader:
webbrowser.open('https://website.com/de/tour/{0}/geometrie.html'.format(row))
for row in reader:
webbrowser.open('https://website.com/de/tour/{0}/geometrie.html'.format(row))