TypeError: 목록 인덱스는 정수여야 합니다
"TypeError: 목록 인덱스는 문자열이 아닌 정수 또는 슬라이스여야 합니다"라는 오류가 발생합니다. 정수나 슬라이스 대신 문자열 인덱스를 사용하여 목록 항목에 액세스하려고 시도합니다. 이 오류는 CSV 내보내기를 위해 두 목록을 단일 배열로 병합할 때 흔히 발생합니다.
이 오류를 방지하려면 다음 단계를 따르세요.
두 번째 목록의 길이를 변환하세요. (array_dates)를 정수로 변환합니다. 인덱스는 항상 정수여야 하기 때문입니다.
array_length = len(array_dates)
반복기 값을 자동으로 증가시키는 range 함수를 사용하여 새 array_length 정수를 반복합니다.
for i in range(array_length): # Use `xrange` for Python 2.
zip을 사용하여 두 목록을 결합하면 코드를 간소화할 수도 있습니다. 길이가 같습니다.
result_array = zip(array_dates, array_urls) csv_file.writerows(result_array)
수정된 코드는 다음과 같습니다.
def fill_csv(self, array_urls, array_dates, csv_file_path): array_length = len(array_dates) # We fill the CSV file with open(csv_file_path, "w") as file: csv_file = csv.writer(file, delimiter=';', lineterminator='\n') # We merge the two arrays in one result_array = [] for i in range(array_length): result_array[i][0].append(array_urls[i]) result_array[i][1].append(array_dates[i]) csv_file.writerows(result_array)
위 내용은 Python에서 'TypeError: 목록 인덱스는 Str이 아닌 정수 또는 슬라이스여야 합니다' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!