Feb-08-2020, 09:33 AM
add the header items to your csv writer
def create_file_from_tableWidget(self): header = [] for column in range(self.tableWidget_search.columnCount()): h = self.tableWidget_search.horizontalHeaderItem(column).text() header.append(h) path,_ = QFileDialog.getSaveFileName( self, 'Save File', 'test.csv', 'CSV(*.txt)') if path: with open(path, 'w',encoding="utf-8") as stream: writer = csv.writer(stream, delimiter='\t') writer.writerow(header) for row in range(self.tableWidget_search.rowCount()): rowdata = [] for column in range(self.tableWidget_search.columnCount()): item = self.tableWidget_search.item(row, column) if item is not None: rowdata.append(item.text()) else: rowdata.append('') writer.writerow(rowdata)