У меня есть код, который работает для чтения одного файла и сохранения в матрицу. Но я хочу прочитать и сохранить несколько файлов в матрицу. Но когда я пытаюсь расширить свой код для работы с несколькими файлами, я получаю следующее сообщение об ошибке «слишком много индексов для массива», которое я не получал, когда читал только один файл
Я пытался использовать функцию вместо цикла for, а также применять индексы по-другому (как показано в некоторых других потоках здесь, в StackOverflow), но это не сработало.
Эта часть кода не работает должным образом:
r=r[1:lengthOfDataset,1:numberOfColumns]
Мой код полностью:
dataPath = ['ABB-2018-03-26-2019-03-26.csv',
'ALFA-2018-03-26-2019-03-26.csv',
'ALIV-SDB-2018-03-26-2019-03-26.csv',...]
lengthOfDataset=252
numberOfColumns=10
data=np.zeros([len(dataPath),lengthOfDataset-1,numberOfColumns-1])
for i in range(len(dataPath)):
data[i]=readAndConvertFile(dataPath[i])
def readAndConvertFile(F):
with open(F, 'r') as f:
reader = csv.reader(f, delimiter=';')
lists = list(reader)
r = np.array(lists)
r=r[1:lengthOfDataset,1:numberOfColumns]
for j in range(lengthOfDataset-1):
for k in range(numberOfColumns-1):
r[j,k]=num(r[j,k])
return r
def num(s):
try:
s=s.replace(',','.')
s=float(s)
return s
except ValueError:
return 0