Python CSV解析和文件生成

时间:2018-05-31 16:53:48

标签: python html csv

我有一个超过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()

1 个答案:

答案 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