前提・実現したいこと
以下のようなデータ(変数responceとして格納)をpythonで多重配列に整形したいと考えております。
responce
1{'Content': b'user,arn,user_creation_time,password_enabled,password_last_used,password_last_changed,password_next_rotation,mfa_active,access_key_1_active,access_key_1_last_rotated,access_key_1_last_used_date,access_key_1_last_used_region,access_key_1_last_used_service,access_key_2_active,access_key_2_last_rotated,access_key_2_last_used_date,access_key_2_last_used_region,access_key_2_last_used_service,cert_1_active,cert_1_last_rotated,cert_2_active,cert_2_last_rotated\n<root_account>,arn:aws:iam::012345678910:root,202x-0x-xxT0x:0x:0x+00:00,not_supported,202x-0x-xxT0x:0x:0x+00:00,hogehoge,hogehoge,hoge,hoge,N/A,N/A,N/A,N/A,hoge,N/A,N/A,N/A,N/A,hoge,N/A,hoge,N/A\nhogeuser,arn:aws:iam::012345678910:user/hogeuser,202x-0x-0xT0x:0x:0x+00:00,hoge,hogehoge,202x-0x-0xT0x:0x:0x+00:00,N/A,hoge,hoge,202x-0x-0xT0x:0x:0x+00:00,2021-0x-0xT0x:0x:00+00:00,ap-northeast-1,hoge,hoge,N/A,N/A,N/A,N/A,hoge,N/A,hoge,N/A\n', 'ReportFormat': 'text/csv', 'GeneratedTime': datetime.datetime(202x, x, xx, xx, x, xx, tzinfo=tzutc()), 'ResponseMetadata': {'RequestId': 'hogehoge-hoge-xxxx-xxxx-hogehoge123', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'hogehoge-hoge-xxxx-xxxx-hogehoge123', 'content-type': 'text/xml', 'content-length': 'xxxx', 'vary': 'accept-encoding', 'date': 'xxx, xx xxx 202x xx:xx:xx GMT'}, 'RetryAttempts': 0}}
JSON形式のデータでは無いため見づらいですがご了承ください。
以下手順にてContentの値を多重配列に整形することができているのですが、ちょっと手順が多いのではないか。
もっと手順を省略することができるのでは無いかと考察しています。
python
1#①Contentの部分を取り出しbyte型のためデコードする。 2 3report = responce['Content'].decode() 4 5#②Contentの内容を"\n"ごとに配列に格納する 6report_array = report.split("\n") 7 8#③report_arrayを多重配列に整形する用の変数を定義 9report_multi_array = [] 10 11#④for文を使用してreport_multi_arrayに格納 12for i in range(len(report_array)): 13 report_multi_array.append(report_array[i].split(","))
以上のように、手順を分けて操作するのはイメージがつくのですが、
②,③,④を一気にできるの方法を考えております。
ご教授のほど何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/01 02:27