我有两个列表,我想合并到一个数组中,最后把它放在一个 csv 文件中。
我怎样才能避免这个错误:
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
我的计数如何工作?
原文由 Arthur C-G 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,
array_length
应该是整数而不是字符串:其次,您的
for
循环应该使用range
构建:第三,
i
会自动递增,所以删除下面一行:请注意,也可以只是
zip
这两个列表具有相同的长度: