如何将循环中的输出保存到CSV文件?

时间:2019-06-17 04:15:13

标签: python pandas csv

我想将此循环的示例输出保存为CSV

[(16.0, 'thermionic vacuum diode device'), (4.0, 'adjustable electrodes')]
[(16.0, 'thermionic vacuum diode device'), (4.0, 'adjustable electrodes')]
[(9.0, 'heat transfer device')]

此输出是从

生成的
def write_csv():
    for index, row in df.iterrows():
        text = row
        r.extract_keywords_from_sentences(text)
        r.get_ranked_phrases()
        score = r.get_ranked_phrases_with_scores()
        new_df = pd.DataFrame({'col':score})
        new_df = df.append(df)
        #print(score)
    df.to_csv("test_score_2.csv")

当我调用def write_csv()时,CSV文件仅包含最后一行,但是我想将所有行保存到CSV文件中。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您将在每个步骤中覆盖df。

def write_csv():
    data = []
    for index, row in df.iterrows():
        text = row
        r.extract_keywords_from_sentences(text)
        r.get_ranked_phrases()
        score = r.get_ranked_phrases_with_scores()
        data.append({'col': score})

     df = pd.DataFrame(data)
     df.to_csv("test_score_2.csv")

如果首先有一个df变量,您的附加逻辑可能会起作用。但是,没有。

请记住,将值分配给变量会擦除它以前指向的内容。您正在重新-分配变量以指向内存中的新对象。