【发布时间】:2018-12-12 02:09:05
【问题描述】:
以下是'lastcomm' bash 命令的输出(日志)。
python3 root __ 0.34 secs Tue Dec 11 09:06
python3 root __ 0.32 secs Tue Dec 11 09:06
python3 root __ 0.36 secs Tue Dec 11 09:06
cron SF root __ 0.00 secs Tue Dec 11 09:06
sh S root __ 0.00 secs Tue Dec 11 09:06
python3 root __ 0.29 secs Tue Dec 11 09:06
cron SF root __ 0.00 secs Tue Dec 11 09:06
sh S root __ 0.00 secs Tue Dec 11 09:06
python3 root __ 0.30 secs Tue Dec 11 09:06
cron SF root __ 0.00 secs Tue Dec 11 09:06
sh S root __ 0.00 secs Tue Dec 11 09:06
python3 root __ 0.31 secs Tue Dec 11 09:06
cron SF root __ 0.00 secs Tue Dec 11 09:06
sh S root __ 0.00 secs Tue Dec 11 09:06
python3 root __ 0.28 secs Tue Dec 11 09:06
sh root __ 0.00 secs Tue Dec 11 09:06
uname root __ 0.00 secs Tue Dec 11 09:06
我在 python 中使用以下代码得到了这个。
import subprocess
file_ = open("pacct.csv", "w")
subprocess.Popen(['lastcomm'], stdout=file_)
我想按列分隔输出(日志)并使用列结构保存 csv 文件。
但上面的代码只保存了完全相同的输出(日志)的纯文本。 输出的分隔符(分隔符)不是“制表符”而是“不同大小的空间”,因此很难按列拆分列表。
如何按列拆分输出(日志)的元素并使用 python3 保存具有列结构的 csv 文件?
期望的结果: (如果我得到如下列表结构,我会将其转换为列结构-csv 文件。)
[['python3', '', 'root', '_', '0.34 secs Tue Dec 11 09:06'],
['python3', '', 'root', '_', '0.32 secs Tue Dec 11 09:06'],
['python3', '', 'root', '_', '0.36 secs Tue Dec 11 09:06'],
['cron', 'SF', 'root', '_', '0.00 secs Tue Dec 11 09:06'],
['sh', 'S', 'root', '_', '0.00 secs Tue Dec 11 09:06'], ...]
非常感谢。
【问题讨论】:
标签: python python-3.x csv