如何将 stdout.read() 保存在 csv 文件中?

How to save stdout.read() in a csv file?

伙计们,我正在努力弄清楚如何将命令的输出保存到 运行 一个 csv 文件中。这是我到目前为止使用 paramiko 模块从 linux 主机获取输出的代码。

ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,port=22,username=user_name,password=passwd)
stdin, stdout, stderr = ssh_client.exec_command("some random command")
output = (stdout.read().decode(encoding='ascii'))
print(output)

这是我得到的输出:

Lun VV_WWN                           VVName                   HostName     
1 600525465446418gsdhgdfhahf14488454 HOST-California_westcos domain123
9 600525465446418gsdhgdfhahf14488454 HOST-Texas_westcos      domain123
4 600525465446418gsdhgdfhahf14488454 HOST-Kasnsas_westcos    domain123
4 600525465446418gsdhgdfhahf14488454 HOST-Ohio_westcos       domain123
7 600525465446418gsdhgdfhahf14488454 HOST-Nevada_westcos     domain123
---------------------------------------------------------------------------
5                                                  total

我需要删除页眉和页脚并将此文件另存为 CSV。关于我如何实现这一目标的任何建议。 我真的很感激你的帮助。

您可以使用内置的 csv python 包。

只需添加以下代码:

import csv

lines = list(output.splitlines())
lines = lines[1:-2]

with open('my_csv.csv', 'w', newline='') as csvfile:
    my_writer = csv.writer(csvfile, delimiter=' ')
    for line in lines:
        my_writer.writerow(line[0].split())

祝你好运,如果您需要更多帮助,请告诉我。 可以在这里找到一些参考:CSV File Reading and Writing

这对我有用

import csv
split = output.split('\n')
keep = split[1:-3]
word_split = [k.split() for k in keep]
with open("output.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerows(word_split)