python 3, OSError: [Errno 22] Недопустимый аргумент: - PullRequest
0 голосов
/ 24 декабря 2018

У меня проблемы с сохранением данных из qtablewidget в excel

def save(self):        
    path = QtWidgets.QFileDialog.getSaveFileName(self.tableWidget_2,'Save File', '', 'CSV(*.csv)')
    #if not path.isEmpty():

    with open(str(path), 'wb') as stream:
        writer = csv.writer(stream)
        for row in range(self.tableWidget_2.rowCount()):
            rowdata = []
            for column in range(self.tableWidget_2.columnCount()):
                item = self.tableWidget_2.item(row, column)
                if item is not None:
                    rowdata.append(str(item.text()).encode('utf8'))
                else:
                    rowdata.append('')
            writer.writerow(rowdata) 

Я получил эту ошибку трассировки:

Трассировка (последний последний вызов):Файл "C: \ Users \ Warren \ Desktop \ new interface \ code \ create_summary.py", строка 60, в сохранениис открытым (str (путь), 'wb') в качестве потока:Ошибка OSE: [Errno 22] Недопустимый аргумент: "('C: / Users / Warren / Рабочий стол / новый интерфейс / code / dsdsd.csv', 'CSV (*. Csv)')"

Как это исправить?

1 Ответ

0 голосов
/ 24 декабря 2018

Просто распакуйте результат с getSaveFilename:

path, _ = QtWidgets.QFileDialog.getSaveFileName(self.tableWidget_2,'Save File', '', 'CSV(*.csv)')
...