mirror of
https://github.com/shizand/statapp.git
synced 2025-10-08 05:03:27 +03:00
feat: добавлено чтение и запись исходных данных в файлы .txt, .csv (#24)
Closes #22 --------- Co-authored-by: Maxim Slipenko <no-reply@maxim.slipenko.com>
This commit is contained in:
33
statapp/models/fileslc_model.py
Normal file
33
statapp/models/fileslc_model.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import numpy as np
|
||||
from PySide2.QtWidgets import QFileDialog, QMessageBox
|
||||
|
||||
|
||||
class FileSLCModel:
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.file_name = None
|
||||
|
||||
def saveFile(self, data):
|
||||
if not self.file_name:
|
||||
self.file_name, _ = QFileDialog.getSaveFileName(None, "Сохранить файл", "", "Text Files (*.txt);;CSV Files (*.csv)")
|
||||
if self.file_name:
|
||||
np.savetxt(self.file_name, data, delimiter=",")
|
||||
return True
|
||||
return False
|
||||
|
||||
def loadFile(self):
|
||||
self.file_name, _ = QFileDialog.getOpenFileName(None, "Загрузить файл", "", "Files (*.txt;*.csv)")
|
||||
if not self.file_name:
|
||||
try:
|
||||
content = np.genfromtxt(self.file_name, delimiter=',', invalid_raise=True)
|
||||
except ValueError as e:
|
||||
QMessageBox.warning \
|
||||
(None,
|
||||
'Ошибка',
|
||||
"Ошибка чтения файла!\nФайл нельзя открыть или файл неверного формата")
|
||||
return None
|
||||
return content
|
||||
|
||||
def closeFile(self):
|
||||
self.file_name = None
|
||||
pass
|
Reference in New Issue
Block a user