在python中追加值并写入文件
我用Python制作了一个分类器,效果很好。现在,我需要将结果输出到一个文本文件中,这样做也不会有问题。问题是,我需要包括结果的id以及结果本身。我是python新手,仍然习惯于语法,因此非常感谢您的帮助在python中追加值并写入文件,python,list,file-io,append,classification,Python,List,File Io,Append,Classification,我用Python制作了一个分类器,效果很好。现在,我需要将结果输出到一个文本文件中,这样做也不会有问题。问题是,我需要包括结果的id以及结果本身。我是python新手,仍然习惯于语法,因此非常感谢您的帮助 printedRow = '{id1},{result1}'.format(id1=id , result1 = result) print("~~~~~RESULT~~~~~") for k in range(0,len(pans)): pans.
printedRow = '{id1},{result1}'.format(id1=id , result1 = result)
print("~~~~~RESULT~~~~~")
for k in range(0,len(pans)):
pans.append(row[0] + ','+ p.classify(row))
print (pans)
print(pans, file=outfile)
我需要包含在分类器结果中的id保存在索引行[0]中。当我运行此代码时,每个结果都会打印相同的id。结果打印得很好,我只需要能够将id与结果匹配
它们都保存在列表中,每个列表中大约有2000个值。我不确定您想做什么,因为您没有定义
行
或盘
是什么。考虑使用更多的python源代码。如果对象是任何类型的集合,则使用某种迭代器。枚举用于为每个循环指定一个索引号
for n, p in enumerate(pans):
print "pan %d is %s" % (n, p)
您似乎还在一个大小取决于pans
的循环中追加pans
。这可能永远持续下去
如果要添加到列表中,只需添加即可,例如:
newpans = pans + [x.classify(row) for x in oldpans]
与其在内存中建立结构,然后将其打印到文件,不如直接写入文件。这将占用更少的内存。如果你想要速度,让计算机为你缓冲文件,例如
f = open("output.txt", "w")
for n, p in enumerate(pans):
f.write("%s,%s\n" % (n, classify(p)))
f.close()
你能给我们pans和row的值吗?这样我们就可以看到我们正在使用什么了?pans包含分类器的结果,这样的结果可以是“50k”或“未知”。行的值如下'id1','id453'。对不起,我不清楚-实际值不重要,重要的是数据结构,它们是列表吗?在开始执行这段代码时,它们将包含多少值?另外,通过编辑你的答案来提供信息是最容易的。好的,那么你到底想在这里做什么呢?在pans长度上循环,然后将整行的id和
classify()
的输出添加到pans。这没有多大意义。我正在尝试循环“行[0]”,获取每个值并将其打印到与其关联的“classify()”输出旁边的文件中。这样输出就可以读取id1、50k’等