s3 버킷의 json 파일에서 일부 데이터를 추출하려고하는데이 오류가 발생합니다.리스트 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.
코드는 다음과 같습니다.
content_object = s3.get_object(Bucket=source_bucket, Key=key)['Body']
json_content = json.load(content_object)
for i in json_content:
ID = json_content[i]['ID']
DateTime = json_content[i]['DateTime']
SourceDevice = json_content[i]['SourceDevice']
DestinationDevice = json_content[i]['DestinationDevice']
DataType= json_content[i]['DataType']
Activity = json_content[i]['Activity']
그리고 json 파일 :
[
{
"ID": "No.",
"DateTime": "Time",
"SourceDevice": "Source",
"DestinationDevice": "Destination",
"DataType": "Protocol",
"Activity": "label"
},
{
"ID": "1",
"DateTime": "SomeTime",
"SourceDevice": "SomeSource",
"DestinationDevice": "SomeDestination",
"DataType": "ARP",
"Activity": "normal"
},
나는 같은 문제로 많은 주제를 겪었지만 내 코드와 관련된 답을 찾을 수 없었습니다. 도와 주셔서 감사합니다!
for x in some_list
Python에서 사용 하면 목록 x
의 색인이 아닌 자동으로 목록의 값을 가져옵니다 . 따라서 대신이 작업을 수행하고 싶습니다.
for item in json_content:
ID = item['ID']
...
루프에 목록 인덱스가 필요한 경우 다음을 사용하십시오 enumerate
.
for index, value in enumerate(json_content):
print(index, value['SourceDevice']) # prints "0 Source" and "1 SomeSource"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다