如何使用粗体标题,但如何使用非粗体单元格-用pygsheets == 2.0.1

时间:2019-06-07 21:37:34

标签: python-3.x google-sheets google-sheets-api pygsheets

下面的python3(pygsheets 2.0.1)脚本将加粗从A2.开始的所有单元格
是否有一种简单的方法(即在一个命令中)要求所有这些单元格都不加粗?

代码:

import boto3, botocore
import datetime
import json
import pygsheets

currentDT = str(datetime.datetime.now())

def create_spreadsheet(outh_file, spreadsheet_name = "jSonar AWS usage"):
    client = pygsheets.authorize(outh_file=outh_file, outh_nonlocal=True)
    spread_sheet = client.create(spreadsheet_name)
    return spread_sheet


def get_regions():
    region = "us-west-1"
    regions = dict()

    ec2 = boto3.client("ec2", region_name=region)
    ec2_responses = ec2.describe_regions()

    ssm_client = boto3.client('ssm', region_name=region)
    for resp in ec2_responses['Regions']:
        region_id = resp['RegionName']
        tmp = '/aws/service/global-infrastructure/regions/%s/longName' % region_id
        ssm_response = ssm_client.get_parameter(Name = tmp)
        region_name = ssm_response['Parameter']['Value'] 
        regions[region_id] = region_name
    return(regions)


def rds_worksheet_creation(spread_sheet, regions, spreadsheet_index):
    worksheet = spread_sheet.add_worksheet("RDS", rows=100, cols=26, src_tuple=None, src_worksheet=None, index=spreadsheet_index)
    worksheet.cell('A1').set_text_format('bold', True).value = 'DBInstanceIdentifier'
    worksheet.cell('B1').set_text_format('bold', True).value = 'MasterUsername'
    worksheet.cell('C1').set_text_format('bold', True).value = 'Region'
    worksheet.cell('D1').set_text_format('bold', False).value = 'Sent Query to (Name)'
    worksheet.cell('E1').set_text_format('bold', False).value = 'Sent Query to (email)'
    worksheet.cell('F1').set_text_format('bold', False).value = 'WorksheetCreated: %s' % currentDT
    cells_data = list()
    for region, region_h in sorted(regions.items()):
        client = boto3.client('rds', region_name=region)
        clnt = boto3.client('ssm', region_name=region)
        db_instances = client.describe_db_instances()
        for instance in db_instances['DBInstances']:
            MasterUsername = instance['MasterUsername']
            DBInstanceIdentifier = instance['DBInstanceIdentifier']
            cells_data.append([DBInstanceIdentifier, MasterUsername, region_h])
    worksheet.append_table(cells_data, start='A2')


if __name__ == "__main__":
    spread_sheet = create_spreadsheet(spreadsheet_name = "jSonar AWS usage",
                                                            outh_file = '/home/qa/.aws/client_secret.json')
    regions = get_regions()
    rds_worksheet_creation(spread_sheet, regions, 0)
    spread_sheet.share("me@corp.com")

输出:

spreadsheet screenshot

1 个答案:

答案 0 :(得分:1)

如果我正确理解,您想在单个命令中取消粗体显示多个单元格。

要将格式设置为一系列单元格,请创建一个数据范围并使用apply_format

model_cell = Cell('A1')
model_cell.set_text_format('bold', False)
Datarange('A1','A10', worksheet=wks).apply_format(model_cell)

docs