from PyQt5 import QtWidgets
from gui.ui.WriteToCSV import Ui_Form
from gui.util.Modules import Modules
[docs]
class WriteToCSV(Ui_Form, Modules):
[docs]
    def setupUi(self, Form):
        super().setupUi(Form)
        Modules.setupUi(self, Form) 
[docs]
    def update_list(self):
        choices = self.xvar_choices()
        self.changeComboListVars(self.variablesToWriteListWidget, choices)
        self.variablesToWriteListWidget.selectAll() 
[docs]
    def run(self):
        datakey = self.chooseDataSetComboBox.currentText()
        filename = self.specifyAFilenameLineEdit.text()
        selected_cols = self.variablesToWriteListWidget.selectedItems()
        cols = []
        for selection in selected_cols:
            cols.append(selection.text())
        try:
            datatemp = self.data[datakey].df[cols]
        except:
            datatemp = self.data[datakey]['cv'][cols]
        try:
            datatemp.to_csv(self.outpath + '/' + filename)
        except:
            datatemp.to_csv(filename) 
[docs]
    def xvar_choices(self):
        try:
            try:
                xvarchoices = self.data[
                    self.chooseDataSetComboBox.currentText(
                    )].df.columns.levels[
                    0].values
            except:
                xvarchoices = self.data[
                    self.chooseDataSetComboBox.currentText()].columns.values
            xvarchoices = [i for i in xvarchoices if
                'Unnamed' not in i]  # remove unnamed columns
            # from choices
        except:
            xvarchoices = ['No valid choices!']
        return xvarchoices 
 
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = WriteToCSV()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())