使用python中的下拉框读取和写入csv文件

时间:2018-11-21 06:24:47

标签: python-3.x user-interface if-statement pyqt4

我想构建一个用于读取和写入csv文件的GUI。基于输出文件,我正在创建另一个用于绘制的GUI。我正在使用pyQt4。文件夹中有6个文件。我想读取所有具有相同名称的文件,写入“ out.csv”文件。然后另一个GUI将从“ out.csv”绘制。

我的代码是:

def update(self):

        cat1 = self.dropdown1.currentText()

        counter = 1

        for folder, sub_folders, files in os.walk(my_directory):
            for cat1 in files:
                if cat1 == 'iono_tropo.csv':
                    file_path = os.path.join(folder, 'iono_tropo.csv')
                elif cat1 == 'PR_log.csv':
                    file_path = os.path.join(folder, 'PR_log.csv')
                elif cat1 == 'Satellite_info.csv':
                    file_path = os.path.join(folder, 'Satellite_info.csv')
                elif cat1 == 'Sol_1.csv':
                    file_path = os.path.join(folder, 'Sol_1.csv')
                elif cat1 == 'Sol_2.csv':
                    file_path = os.path.join(folder, 'Sol_2.csv')
                else:
                    file_path = os.path.join(folder, 'Sol_3.csv')

                    with open(file_path) as read_file:
                        print('Reading csv file' + str(counter))
                        if counter == 1:
                            lines = read_file.readlines()
                        else:
                            lines += read_file.readlines()[1:]

                            with open ("out.csv","w") as f:
                                for line in lines:
                                    f.write(line)

                        counter += 1

该脚本显示错误,因为my_directory中没有“ Sol_3.csv”文件。现在,如果我将else更改为elif cat1 == 'Sol_3.csv',那么它将通过仅读取“ Sol_3”来创建“ out.csv”。另一个文件未读取。我是python程序的新手。当我分别运行代码(不在GUI中)时,它可以工作。但是在这里什么也没显示。请帮助。预先感谢。

0 个答案:

没有答案