python - 将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')
解决方案
完成构建result
后,只需将其放入打印语句中,如下所示:
print(result)
然后你可以像这样运行你的文件:
$ python your_script.py >> /path/for_output_file.txt
它将所有打印语句重定向到指定的文件。
如果您使用单个 operator >
,它将覆盖结果。所以使用>>
追加。
推荐阅读
- java - 为什么当我输入数字时我的编程不起作用:600851475143
- excel - 基于另一个单元格自动向一个单元格添加值
- xml - 雪花 XML 解析返回 NULL - 字段名称中的空格?
- javascript - 在选择元素上设置回调 onBlur
- java - Thymeleaf - 基于对象属性值的条件渲染
- sql - Where 子句 TSQL 中的 case 表达式
- amazon-web-services - API Gateway 新(测试版)http api
- xamarin - 您能否防止 Xamarin.Mac 上的异常终止应用程序?
- vue.js - 带有 bootstrap-vue 的模态
- java - JPA(Java 持久 API)/休眠