TypeError: 列表索引必须是整数
错误“TypeError: 列表索引必须是整数或切片,而不是 str”尝试使用字符串索引而不是整数或切片来访问列表项。将两个列表合并为单个数组以进行 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中文网其他相关文章!