我有一个超过500个条目的CSV,我正在尝试生成重定向文件。 CSV的格式为:
/contact,/contact-us,
/about,/about-us,
/ contact是旧网址,而/ contact-us是新网址。
所需.htm文件的格式为:
url = "/contact"
is_hidden = 0
==
<?php
function onStart(){return Redirect::to("/contact-us");}
?>
==
.htm文件的文件名不重要(可能是1.htm,2.htm等)。
我几年没有真正触及Python了,我不确定它是否是最佳选择,但从我一直在阅读的内容来看,它似乎是CSV解析的可靠选择。
非常感谢任何帮助。
编辑: 这就是我到目前为止所拥有的
import pip
import csv
with open('redirects.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print 'url = "'+row[0]+'\nis_hidden = 0\n==\n\n<?php\nfunction onStart(){return Redirect::to("'+row[1]+'");}\n?>\n=='
这打印出我需要的东西。我只需要将每个条目放入.htm文件(自动递增的文件名)。
编辑#2: 我用这段代码得到了我想要的东西:
import pip
import csv
count = 0
with open('redirects.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
count += 1
count_str = str(count)
file = open('redirects/'+count_str+'.htm', 'w')
file.write('url = "' + row[0] + '"\nis_hidden = 0\n==\n\n<?php\nfunction onStart(){return Redirect::to("' + row[1] + '");}\n?>\n==')
file.close()
答案 0 :(得分:0)
如果我理解正确,下面的内容可能有效。
directories = open('filename', 'r').read()
splitted = directories.split(",")
correctlyformatted = [x.strip() for x in splitted]
counter = 0
for i in correctlyformatted:
f=open(str(counter) + '.html', 'w')
f.writeLines([
'url = "' + i + '"',
'i.s_hidden = 0',
'==',
'<?php',
'function onStart(){return Redirect::to("' + i +'");}',
'?>', '=='])
counter += 1