首页 > 解决方案 > 将python输出打印到txt文档

问题描述

我在将 python 输出打印到 txt 文件时遇到了一些问题。我目前正在运行这样的脚本:

import glob
import pandas as pd

files = glob.glob('*.txt')
result = pd.DataFrame()
for file in files:
    df = pd.read_csv(file,delimiter='  ')
    current_col = df.columns[0]
    df.reset_index(inplace=True)
    df.set_index(current_col,inplace=True)
    df.index.name = 'index'
    df.rename(columns={'index':current_col}, inplace=True)
    result = pd.concat([result,df],axis=1)

然后我最终得到了我正在寻找的输出:

>>> result
>>> result.fillna(0) 

但我想让这些结果打印到 txt 文件。我目前正在使用 python v3.7.4 在 Mac 上的终端中运行这些命令。我尝试打开一个文本文件并将结果写入文本文件但没有成功:

import glob
import pandas as pd
file = open('counts.txt','w')
files = glob.glob('*.txt')
#eg: files = ['1.txt','2.txt']
result = pd.DataFrame()
for file in files:
    df = pd.read_csv(file,delimiter='  ')
    current_col = df.columns[0]
    df.reset_index(inplace=True)
    df.set_index(current_col,inplace=True)
    df.index.name = 'index'
    df.rename(columns={'index':current_col}, inplace=True)
    result = pd.concat([result,df],axis=1)
file.write(result +'\n')

标签: python

解决方案


完成构建result后,只需将其放入打印语句中,如下所示:

print(result)

然后你可以像这样运行你的文件:

$ python your_script.py >> /path/for_output_file.txt

它将所有打印语句重定向到指定的文件。

如果您使用单个 operator >,它将覆盖结果。所以使用>>追加。


推荐阅读