목록 인덱스는 json 파일에서 데이터를 추출 할 때 str 오류가 아닌 정수 또는 슬라이스 여야합니다.

세례

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"
    },

나는 같은 문제로 많은 주제를 겪었지만 내 코드와 관련된 답을 찾을 수 없었습니다. 도와 주셔서 감사합니다!

Jirassimok

for x in some_listPython에서 사용 하면 목록 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관