0

csv を読み書きするコード ブロックがあります。リーダーはファイル「x」を受け取り、それをファイル「y」と比較し、新しいファイル「z」を返します

ここで、GUI プログラムのテキスト ボックスにファイルパスを返す tkinter を使用して GUI プログラムを作成しました。

次のように取得するファイルパス:

def OnButtonClick1(self):
    self.labelVariable.set( self.entryVariable.get())
    self.entry.focus_set()
    self.entry.selection_range(0, tkinter.END)
    filename = askopenfilename()
    with open(filename,'r') as f:
        for file in f:
            data = f.read()
            self.entry.insert(0,filename)

上記のファイルパスをリーダーで使用して、以下のコードで「myfile」を表すにはどうすればよいですか?

    #Opening my enquiry list .cvs file
    datafile = open('myfile', 'r')
    datareader = csv.reader(datafile)
    n1 = []
    for row in datareader:
        n1.append(row)

        n = list(itertools.chain(*n1))
    print()

大いに感謝します!!!

4

1 に答える 1

0

たぶん、このようなもの

class gui:
...
    def OnButtonClick1(self):
        self.labelVariable.set( self.entryVariable.get())
        self.entry.focus_set()
        self.entry.selection_range(0, tkinter.END)
        filename = askopenfilename()
        self.filename = filename
        with open(filename,'r') as f:
        for file in f:
            data = f.read()
            self.entry.insert(0,filename)
    def GetFilename(self):
        return self.filename
...
gui_object = gui()
...
#Opening my enquiry list .cvs file
myfile = gui_object.GetFilename()
datafile = open(myfile, 'r')
datareader = csv.reader(datafile)
n1 = []
for row in datareader:
n1.append(row)

n = list(itertools.chain(*n1))
于 2013-06-25T07:04:58.390 に答える