类型错误:列表索引必须是整数或切片,而不是s

2024-04-19 04:42:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表,我想合并成一个数组,最后把它放到一个csv文件中。我是Python数组新手,我不知道如何避免这个错误:

def fill_csv(self, array_urls, array_dates, csv_file_path):
    result_array = []
    array_length = str(len(array_dates))

    # We fill the CSV file
    file = open(csv_file_path, "w")
    csv_file = csv.writer(file, delimiter=';', lineterminator='\n')

    # We merge the two arrays in one

    for i in array_length:
        result_array[i][0].append(array_urls[i])
        result_array[i][1].append(array_dates[i])
        i += 1

    csv_file.writerows(result_array)

得到:

  File "C:\Users\--\gcscan.py", line 63, in fill_csv
    result_array[i][0].append(array_urls[i])
TypeError: list indices must be integers or slices, not str

我怎么能数数?


Tags: csvthepathin数组resultarrayfill
2条回答

首先,array_length应该是整数而不是字符串:

array_length = len(array_dates)

其次,应该使用range构造for循环:

for i in range(array_length):  # Use `xrange` for python 2.

第三,i将自动递增,因此请删除以下行:

i += 1

我也犯了同样的错误,错误是我把list和dictionary添加到了一个列表中,当我在字典列表上迭代并使用list对象时,我就得到了这个错误。

这是一个代码错误,并确保我只添加字典对象到该列表,它也解决了我的问题。

相关问题 更多 >