最終的にcsvファイルに入れるために、1つの配列にマージしたい2つのリストがあります。私は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
カウントはどのように機能しますか?
まず、array_length
は文字列ではなく整数である必要があります。
array_length = len(array_dates)
次に、for
ループをrange
を使用して構築する必要があります。
for i in range(array_length): # Use `xrange` for python 2.
3番目に、i
は自動的に増分するため、次の行を削除します。
i += 1
私は同じエラーがありましたが、リストと辞書をリストに追加し、辞書のリストを繰り返し使用してリストオブジェクトをヒットしたときに、このエラーが発生しました。
これはコードエラーであり、そのリストに辞書オブジェクトのみを追加して、問題も解決したことを確認しました。