【问题标题】:Writing ec2 describe instance output to csv将 ec2 描述实例输出写入 csv
【发布时间】:2022-11-03 19:14:15
【问题描述】:

嗨,我在列表中有一个 dict,想将 dict 写入 csv。

使用 boto3 ec2 客户端, describe_instance() 函数。我想将这些标签添加到 csv 中。

我试过的代码,

def write_csv(mode,field_name,value):   
    with open(report, mode, newline='') as f:
        writer = csv.writer(f)

client = session.client('ec2')
response = client.describe_instances(
    Filters=[
        {
            'Name': 'instance-id',
            'Values': [
                'string',
            ],
        },
    ],
)
tags=response['Reservations'][0]['Instances'][0]['Tags']

for tag in tags:
    field_names=tag['Key']
    values=tag['Value']
    write_csv('a',field_names,values)

我得到的输出:

Column A Column B
tag1 value1
tag2 value2
tag3 value3

异常输出

tag1 tag2 tag3
value1 value2 value3

【问题讨论】:

    标签: python boto3 export-to-csv


    【解决方案1】:

    编辑

    我按要求添加了 instanceId。


    如果您愿意导入熊猫,这应该可以:

    import pandas as pd
    
    save_path = 'my_csv_name.csv'
    
    client = session.client('ec2')
    response = client.describe_instances(
        Filters=[
            {
                'Name': 'instance-id',
                'Values': [
                    'string',
                ],
            },
        ],
    )
    
    resp  = response['Reservations'][0]['Instances'][0]
    
    tags.append({'Key':'InstanceId','Value':resp['InstanceId']}
    
    df = pd.DataFrame(resp['Tags'])
    df.set_index('Key').T.to_csv(save_path)
    

    【讨论】:

    • 谢谢,是否可以将实例 ID 包含到 csv 中?
    猜你喜欢
    • 2017-03-16
    • 2017-10-03
    • 2016-11-01
    • 1970-01-01
    • 2018-06-18
    • 2018-09-26
    • 1970-01-01
    • 2017-07-12
    • 2021-02-24
    相关资源
    最近更新 更多