Home > Article > Backend Development > Why am I getting the 'TypeError: list indices must be integers or slices, not str' error when accessing list elements?
TypeError: list indices must be integers or slices, not str
This error occurs when attempting to access a list element using a string as the index. In your code, you're trying to access elements in result_array using i, which is a string representing the length of array_dates.
Solution:
To resolve this issue, you need to:
Convert array_length to an integer:
array_length = len(array_dates)
Use the range() function to iterate over the integers up to array_length. Remove the manual increment of i.
for i in range(array_length): # Your code here
Alternatively, you could zip the array_dates and array_urls lists since they have the same length:
result_array = zip(array_dates, array_urls)
Then, write the result_array rows to your CSV file using the writerows method.
Example using the zip() method:
import csv def fill_csv(array_urls, array_dates, csv_file_path): csv_file_patch = '/path/to/filename.csv' with open(csv_file_patch, 'w') as fout: csv_file = csv.writer(fout, delimiter=';', lineterminator='\n') result_array = zip(array_dates, array_urls) csv_file.writerows(result_array)
The above is the detailed content of Why am I getting the 'TypeError: list indices must be integers or slices, not str' error when accessing list elements?. For more information, please follow other related articles on the PHP Chinese website!