Сохранение и импорт данных из qtablewidget в\из csv файла

В проекте есть несколько таблиц, qtablewidget (для примера использую 2). В этих таблицах первая колонка даты в любом формате (ДД/ММ/ГГ или ДД-ММ-ГГ), в остальных положительные float или 0(представленный ниже код может импортировать и пустые ячейки). С помощью следующих функция я сохраняю в импортирую данные из\в qtablewidget в\из csv файла:

def save_function(self):
    sfile=str(QFileDialog.getExistingDirectory(self,"Select Directory"))
    if sfile!= "":
            date = time.strftime("%d-%m-%Y")
            filename='2 № 1 від {}.csv'.format(date)
            filepath=os.path.join(sfile, filename)
            with open(filepath, "w", newline='') as csvfile:
                writer = csv.writer(csvfile, dialect='excel', lineterminator='\n')
                columns_N = range(self.ui.table_Level_N.columnCount())
                columns_L = range(self.ui.table_Level_L.columnCount())
                for row in range(self.ui.table_Level_N.rowCount()):
                    writer.writerow(self.ui.table_Level_N.item(row, column).text() for column in columns_N)
                
                for row in range(self.ui.table_Level_L.rowCount()):
                    writer.writerow(self.ui.table_Level_L.item(row, column).text() for column in columns_L)

def load_function(self):
    fname,filter=QFileDialog.getOpenFileName(None,"Select a file...", "", "CSV files (*.csv)")
    if fname!= "":
        with open(str(fname), 'r') as file:
            reader = csv.reader(file)
            for row, values in enumerate(reader):
                    for column, value in enumerate(values):
                        self.ui.table_Level_N.setItem(
                            row, column, QtWidgets.QTableWidgetItem(value))
            for row, values in enumerate(reader):
                    for column, value in enumerate(values):
                        self.ui.table_Level_L.setItem(
                            row, column, QtWidgets.QTableWidgetItem(value))

Где table_Level_N и table_Level_L мои таблицы. Сохранения происходит удачно, вид показан на скриншоте. Но при попытке загрузки и вставки в таблицу, вставляется только 1я таблица table_Level_N, а 2я, хоть и данные есть в csv, не вставляется. Подсказали что проблема может быть в том что with open(str(fname), 'r') as file: reader = csv.reader(file) заполнив 1ю таблицу заканчивают проход файла, и нужно сделать вот так:

def load_function(self):
    fname,filter=QFileDialog.getOpenFileName(None,"Select a file...", "", "CSV files (*.csv)")
    if fname!= "":
        with open(str(fname), 'r') as file:
            reader = csv.reader(file)
            for row, values in enumerate(reader):
                    for column, value in enumerate(values):
                        self.ui.table_Level_N.setItem(
                            row, column, QtWidgets.QTableWidgetItem(value))
        with open(str(fname), 'r') as file:
            reader = csv.reader(file)
            for row, values in enumerate(reader):
                    for column, value in enumerate(values):
                        self.ui.table_Level_L.setItem(
                            row, column, QtWidgets.QTableWidgetItem(value))

но теперь во 2й таблицу данные такие же как в 1й, а не те что в файле. введите сюда описание изображения


Ответы (0 шт):