首先,我是一个新手,没有编码方面的背景。你知道吗
我正在尝试创建一个python脚本,它将创建一个xml api文件,以后可以使用
我有一个csv文件,其中每行用于一个api调用。我可能有200多条这样的线。 我试图一次读取一行并将xml数据打印到一个文件中,比如file-1.xml
我可以打印出任何问题的数据,但我找不到一种方法来重定向这个输出一个文件,该文件应该被反复命名(例如,范围(1..200)内的I或其他)
#!/usr/bin/python
import csv
with open('file.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
length=len(row)
print """<?xml version="1.0" encoding="UTF-8" ?>
<value>
<array>
<data>
<value><i4>%s</i4></value>
<value><i4>%s</i4></value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value><i4>%s</i4></value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value>%s</value>
<value><i4>%s</i4></value>
<value>%s</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
""" % tuple(row)
csv.reader
类的每一行都有一个行号属性:line_num
。只需使用reader.line_num
作为文件名的一部分,如不需要额外的代码。 不过,这确实假设每个请求都有自己的单行。你知道吗
另外,对于新的格式准则,习惯上使用字符串格式的{0}和.format样式。因此,不要在整个模板中都使用
%s
,在最后使用% tuple(row)
,而要在最后使用{0}
和.format(tuple(row))
。不过,只是个建议。见PEP 3101。你知道吗您只需打开文件并}
write
访问它,就像从文件中读取一样。为了跟踪我们使用的号码,我们将使用^{相关问题 更多 >
编程相关推荐