猿问

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

伙计们,我正在努力弄清楚如何将我运行的命令的输出保存到csv文件中。以下是我到目前为止编写的代码,用于使用paramiko modue从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。关于如何实现这一点的任何建议。我真的非常感谢你的帮助。


德玛西亚99
浏览 163回答 2
2回答

LEATH

这对我有用import csvsplit = 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)

冉冉说

您可以使用 csv 内置 python 包。只需添加以下代码:import csvlines = 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())祝你好运,如果你需要更多的帮助,让我知道。
随时随地看视频慕课网APP

相关分类

Python
我要回答