我正在一个小型自动化POC上工作,我需要在100台服务器上运行并在它们上执行python os.system(),将它们保存为CSV格式,然后通过Pandas读取以存储输出转换为Excel文件作为报告。 我编写了一个简单的程序,当我在单个服务器上工作时,该程序对我有用。但是当我无法提出任何解决方案以与多台服务器一起工作时。
下面是示例代码。
this.setState
我知道我需要将文件保存在列表中并对其进行for循环。但是我有以下情况需要注意:-
1)在服务器列表上运行上述代码将有多个输出。因此,我需要根据其中的服务器名称将输出保存在CSV文件中。 下面的例子
from os import system
import pandas as pd
system('free' + "> sample.csv")
# reading a CSV file through pandas
df = pd.read_csv('sample.csv', sep='\t')
# Create a file writer use pandas.ExcelWriter method.
excel_writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
# Call DataFrame’s to_excel method to set the DataFrame data to special excel file sheet.
df.to_excel(excel_writer, 'Employee Info')
# Call the writer’s save method to save the data to excel file.
excel_writer.save()
注意:在带有“ free”命令的原始输出中,没有服务器的“主机名/ IP”。
2)如果os.system()要生成100个CSV文件,那么我需要加入它们并创建一个CSV文件
3)CSV中的每一列都应被视为excel文件中的一列。
注意:不需要在excel文件中创建多个工作表。
4)如果服务器没有无密码登录,那么我需要创建一个json文件,其中主机名是密钥,而用户名/密码将作为值。
我尝试考虑以上情况,但我无法提出适当的逻辑。
请提出建议