Python 如何使用正则表达式从cloudwatchloginsights查询的输出中过滤?

Python 如何使用正则表达式从cloudwatchloginsights查询的输出中过滤?,python,python-3.x,aws-lambda,amazon-cloudwatch,aws-cloudwatch-log-insights,Python,Python 3.x,Aws Lambda,Amazon Cloudwatch,Aws Cloudwatch Log Insights,我是python新手 下面是我在cloudwatchinsights查询中的输出 {'results': [[{'field': '@m', 'value': 'upload `onetest.csv`'}, {'field': '@ptr', 'value': 'CmkKMAosMDI2uwxIuRlQtBQQAhgB'}], [{'field': '@m', 'value': 'upload `onecube.csv`'}, {'field': '@ptr', 'value': 'CmkK

我是python新手

下面是我在cloudwatchinsights查询中的输出

{'results': [[{'field': '@m', 'value': 'upload  `onetest.csv`'}, {'field': '@ptr', 'value': 'CmkKMAosMDI2uwxIuRlQtBQQAhgB'}], [{'field': '@m', 'value': 'upload `onecube.csv`'}, {'field': '@ptr', 'value': 'CmkKMAosMDI2NzYzlQuxQQAhgB'}], [{'field': '@m', 'value': 'upload  `onetra.csv`'}, {'field': '@ptr', 'value': 'CmkKMAosyhRIghxQ/BYQBhgB'}], [{'field': '@m', 'value': 'upload  `onecant.csv`'}], 'statistics': {'recordsMatched': 79.0, 'recordsScanned': 550.0, 'bytesScanned': 147117.0}, 'status': 'Complete', 'ResponseMetadata': {'RequestId': '7c79a28597ca', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '7c7d498a9a28597ca', 'content-type': 'application/x-amz-json-1.1', 'content-length': '20282', 'date': 'Tue, 17:17:11 GMT'}, 'RetryAttempts': 0}}

我想使用python解析输出,如下所示

1. onetest.csv.
2. onecube.csv
3.onetra.csv
4.onecant.csv
我尝试使用re模块使用正则表达式,但我可以得到准确的输出。

试试这种方法。

cloudwatchinsights = [[{'field': '@m', 'value': 'upload  `onecube.csv`'}, {'field': '@ptr', 'value': 'CmoKMDAYAQ=='}], [{'field': '@m', 'value': 'upload  `onetra.csv`'}, {'field': '@ptr', 'value': 'CmoKMAI5JECoYAQ=='}]]

result = [ each[0]['value'][9:-1] for each in cloudwatchinsights ]
输出:

['onecube.csv', 'onetra.csv']

这回答了你的问题吗?我尝试过使用json.loads,但它抛出了一个异常
{“errorMessage”:“json对象必须是str、bytes或bytearray,而不是NoneType”,“errorType”:“TypeError”,“stackTrace”:[“File\”/var/task/lambda\u function.py\”,第37行,在lambda\u处理程序中\n json\u object=json.loads(content)\n”,“File\”/var/lang/lib/python3.8/json/uu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu\“,第37行,在lambda_处理程序中\n result=[each[0]['value'][9:-1]对于每个响应]\n”,“File\”/var/task/lambda_function.py\”,第37行,在\n result=[each[0]['value'][9:-1]对于每个响应]\n”}
我在执行查询时更新了完整的响应