2017-07-25 51 views
1

我有一個選項菜單工作好,從代碼列表中查找,但如果列表要在Excel文件中進行外部維護,該怎麼辦?我將如何去查找一個excel文件,名爲.... vehicles.xlsx,列表將在A列?我會使用熊貓還是python中有現有的選項 工作代碼在下面,但顯然我想擺脫列表並將其替換爲excel查找。tkinter optionmenu查找excel列表

對不起,如果有教程的地方,但我似乎無法找到它,我很新的python。

由於

self.cars = [ 「CAR1」, 「CAR2」] self.installin = tk.OptionMenu(個體,self.var,* self.cars).grid(行= 4,列= 2,粘= tk.W,padx = 8,pady = 8)

回答

0

檢查出我的Excel 2003中,似乎可以電子表格保存爲xmltxtcsv等等。

不知道文本文件的外觀如何,但是我會以此爲開頭,因爲這可能會爲您節省庫導入(xml,csv),以防萬一。

編輯:如果不是,請查看csvs'DictReader,我相信這是最快的解決方案。

如果您喜歡/喜歡使用json,您還可以使用few lines of code將csv轉換爲json。

編輯2:提取從一個CSV文件中的第一列可能是這樣的:

import csv 

with open('install.csv') as csvfile: 

    # Generating a DictReader object 
    reader=csv.DictReader(csvfile) 

    # This will contain the values in the 1st column 
    first_col=[] 

    # Assuming the first column is titled 'Ins' and skipping empty cells 
    first_col.extend([row['Ins'] for row in reader if row['Ins']]) 

另外,如果你沒有名字列,你可以只使用csv.reader。相關部分如下所示:

reader=csv.reader(csvfile) # instead of csv.DictReader(csvfile) 

first_col=[] 

first_col.extend([row[0] for row in reader if len(row) and row[0]]) 
+0

對不起,這個,對此還不明白。我已將open('install.csv')添加爲csvfile: self.reader = csv.DictReader(csvfile) for self in.reader: read(row ['Ins'])self.installin = tk.OptionMenu(self,self.var,* self.reader)我知道它錯了,教程中的例子顯示瞭如何打印,但那不是我所需要的,是否有讀取函數? –

+0

請參閱編輯代碼片段 – Jay

+0

對於延遲抱歉,沒有機會嘗試它,但我仍然無法使其工作。我如何將這個應用到選項菜單對象? –