繁体   English   中英

保存定义的 for 循环函数的输出 - 重定向打印输出不起作用

[英]Saving output from defined for loop function - redirect print output not working

我已经预处理了 csv 文件中的一些文本,这些文本由用于任务的不同技术标记,并为每种技术创建了一个新的干净文本列。 我想按降序查找每种技术的描述(即纯文本)的词频(它们已经被分组)并执行以下操作:

from collections import Counter

df['Count'] = df['clean_text'].str.lower().split().apply(Counter)
count = df['Count']

def most_common():
    for i in count:
    x = Counter(i)
    print(x.most_common())

当我调用 most_common() 时,我成功地按降序获得了每种技术的词频作为输出,但我想将此输出保存到文件或使用输出在我的数据框中创建一个新列。 我已经研究过使用 open 命令等重定向打印输出并将其保存到 python,但它没有显示所有输出,它只显示第一个。 任何人都可以帮助保存此函数的输出,以便将其添加到数据框或另存为自己的 csv 吗?

作为参考,这是我之前尝试过的一段代码:


for i in count:
    with open("randomfile.txt", "w") as external_file:
        x = Counter(i)
        print(x.most_common(), file=external_file)
        external_file.close()

那么试试这个,使用打开文件命令,在保存它之前尝试排序,如果首先在一个数组或你想要的列表中,那应该可以。

将此作为您的参考

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM