Link Search Menu Expand Document

Чтение и запись текстов и массивов в файл

Сохранение в бинарном формате

import numpy as np

dirname = '/content/drive/My Drive/Colab Notebooks/COMP_MATH/1_4 Numpy/'

Amat = np.arange(12).reshape(3, 4)
Bmat = np.ones(shape=(4,3))

np.save(dirname+'Amat', Amat)  # сохранение в файл данных в двоичном виде с расширением .npy
A2mat = np.load(dirname+'Amat.npy')  # Загрузка данных из файла

np.savez(dirname+'AmatBmat', Amat, Bmat)  # сохранение нескольких массивов в файл
np_arrs = np.load(dirname+'AmatBmat.npz')
print(np_arrs.files)  # ['arr_0', 'arr_1']

Чтобы сохранять массивы как имена нх надо передавать как ключи

np.savez(dirname+'AmatBmat', Amat = Amat, Bmat = Bmat)

Сохранение в текстовом формате

np.savetxt(dirname+'Amat.csv', Amat, delimiter=',')
A3mat = np.loadtxt(dirname+'Amat.csv', delimiter=',')

Чтение и запись в файл текстов

f = open(dirname+'comp_methods.txt', mode='r')
text = f.read()

Повторное чтение не приведет к загрузке так как повторное чтение начинается с того момента на котором остановился указатиль, а указатиль останавливается в конце документа. Поэтому если необходимо прочитать файл заново - нужно использоват f.seek(0)

Можно читать файл построчно

f.seek(0)
for line in f:
  print(line)
f.close()  # закрытие файла

Чтобы не беспокоиться о закрытии файла можно использовать такую конструкцию:

with open(dirname+'comp_methods.txt', mode='r') as f:
  text = f.read()

Обработка текста – убираем вспомогательные слова

import nltk
nltk.download('stopwords')
from nltk.corpus import stopwords
stopwords = sorted(stopwords.words('russian'))
stopwords1 = ['это', 'можем', 'нам', 'значит']
stopwords += stopwords1
text_list = text.split()
new_text_list = [word for word in text_list if word not in stopwords]
print(f'До обработки: {len(text_list)}')
print(f'После обработки: {len(new_text_list)}')
# До обработки: 60
# После обработки: 39