在python中的txt文件中分配列名

时间:2016-07-03 00:23:41

标签: python multiple-columns

我有以下代码从xml文件中提取所需的数据。我可以将它保存到终端,并打开它没有问题。但是,我在将列名插入txt文件时遇到了麻烦。我一直在寻找答案,但没有找到正确的解决方案。有人会帮我吗?谢谢!!

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
orig_stdout = sys.stdout
sys.stdout = f

for program in root.findall('program'):

    programID = program.find('programID')
    season = program.find('season')
    print programID, season


sys.stdout = orig_stdout
f.close()

1 个答案:

答案 0 :(得分:0)

在Python中将数据写入文件的方法是在文件对象上调用.write(content),而不是将stdout重定向到它。

请尝试以下操作:

,而不是所有的行都弄乱sys.stdout
f = open("file.txt", "w")  # Open the file in (w)rite mode

f.write("programID,Season\n")  # Header line 
for program in root.findall("program"):
    programID = program.find("programID").text
    season = program.find("season").text
    line = programID + "," + season + "\n"
    f.write(line)

f.close()  # Outside the loop

有更好的方法为line制作字符串,但我们现在不需要担心这些。