У меня есть текстовый файл содержит список (#lines = 1137) векторов (все равны размеру = 1137), я пытаюсь преобразовать этот список в 1137 * 1137 матрица. Я создал пустую матрицу с помощью numpy. Но проблема после того, когда я прочитал файл, используя следующий код, векторы рассматриваются как последовательность символов, а не в качестве вектора или массиваСоздание n * n матрицы из текстового файла содержит список списков в python
myMtrx = np.empty((1137,1137))
f = open("text.txt", "r")
for vector in f:
print len(vector)
arrayF.append(vector.rstrip())
я узнал, что, печатая нашу длину каждого вектора, который вычисляется на основе количества цифр, а не элементов этого вектора. Вектор в текстовом файле выглядит
[99.25, 14.74, 26.12, 20.91, 37.14, 79.03, 17.68, 28.4, ...., 0]
так, когда я печатаю print arrayF[0][0]
я получаю [
, где мне нужно вывод, чтобы быть первым элементом 1-го вектора, который является 99,25.
Я пробовал несколько способов использования numpy и записывал текстовый файл в CSV, но ничего не работает, можете ли вы помочь мне решить эту проблему. Вы можете получить доступ к текстовому файлу по следующей ссылке, чтобы получить представление о его структуре. text.txt
Когда вы говорите 'для вектора в f', то, что передается вашему коду в переменной' vector', не является вектором, а целым целым строком файла (в виде строки).Вы хотите сделать что-то вроде 'for line in f' и написать код внутри цикла, чтобы разделить каждую строку на интересующие маркеры (например, с использованием регулярных выражений и/или' str.split() '). Затем убедитесь, что вы конвертируете эти токены в числовые значения, прежде чем использовать их для заполнения массива. – dhrumeel
Спасибо за быстрый ответ. Содержимое вектора описано в моем сообщении [99.25, ........ 0], но, как вы сказали, оно анализируется как строка не как массив. Но есть ли более простой метод, чем рег-выражение ??? – Mohannad
Если строки привязаны к образцу, вы можете лишить квадратные скобки из строки и разделить на запятую и int() каждый элемент списка, выходящий из раздела. Имеет смысл? – Dilettant