查找excel列表的tkinter optionmenu

时间:2017-07-25 20:11:39

标签: python tkinter

我有一个选项菜单可以从代码中的列表中查找,但如果列表要在excel文件中进行外部维护,该怎么办?我怎么去查找excel文件,比如叫.... vehicles.xlsx,列表会在A列?我会使用pandas还是python中有一个现有的选项 工作代码如下,但显然我想摆脱列表并用excel查找替换它。

如果在某个地方有教程但我似乎无法找到它并且我是python的新手。提前抱歉。

由于

self.cars = [ “CAR1”, “CAR2”] self.installin = tk.OptionMenu(self,self.var,* self.cars).grid(row = 4,column = 2,sticky = tk.W,padx = 8,pady = 8)

1 个答案:

答案 0 :(得分:0)

检查我的Excel 2003,您似乎可以将电子表格保存为xmltxtcsv等。

不确定文本文件的外观,但我从头开始,因为它可能会保存您的库导入(xmlcsv),以防“#sa; sa”考虑。

编辑:如果不是,请查看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]])