查询Excel电子表格并返回结果?但是哪个节目呢?

时间:2014-03-04 18:17:38

标签: python excel batch-file

我正在为之工作的公司最近要求主管技术人员编制一份电子表格,其中列出了每个计算机名称,以及使用该计算机的人员。我们的想法是,帮助台可以打开此电子表格,因此当用户拨打电话时,他们可以找到他们的姓名及其相关的计算机编号。

然而,这对我来说似乎有点笨拙。我们有大约1000个用户,因此电子表格只是一个痛苦的imho。我认为有一个简单的程序可能会更容易询问用户的名字,你输入它,然后它返回计算机编号。

所以,我假设这个程序会引用这个电子表格,然后返回你的信息。当然,它不必引用电子表格,它可以引用其他内容。

我只对Python有经验,只是因为我上了大学的入门课程。但是,我认为批处理文件会更好?或者其他东西会更好吗?我认为这是一个学习的机会,也许可以为我们的服务台提供一个简洁的实用程序,并且只是在寻找建议。 :)

谢谢。

1 个答案:

答案 0 :(得分:1)

如果你计划在excel上使用python,那么有两种方法(最常见,还有其他方法):

  1. 使用windows API,它允许您通过python运行本机excel命令。即:

    from win32com.client import Dispatch
    excel = Dispatch('Excel.Application')
    excel.Visible = True #if you want to see it
    sheet = excel.Workbooks.open('Book1').Sheets('Sheet1')
    # get value from a cell:
    sheet.Cells(1, 1).value
    
    # get range
    sheet.Range('A1:A2000')
    
    # etc. google about vlookup and other functionalities. You can run anything you would in excel through python here, it's just an API
    

    这将是最快速最有效的方法,因为它使用原生excel功能并且这些功能已经过优化。另一方面,它不是非常用户友好,因为Windows API有点混乱(至少我的意见)。

  2. 现在,如果您喜欢我,并且喜欢去pythonic,那么您可以使用非常好用的优秀xlrd library

    import xlrd
    book = xlrd.open_workbooks('Book1')
    sheet = book.sheet_by_name('Sheet1')
    sheel.col(1)
    

    我不会深入研究。你必须自己解决这个问题,正如你所看到的那样,它太难了。另请注意,如果您还要写入文件,则需要另一个名为xlwt的库。

  3. 当然,还有第三种选择 - 将数据传递到适当的数据库(SQLite可能就足够了)并使用SQL查询来获取数据。这将是最快捷有效的方式,如果这对你很重要(SQL 是为了这个目的而创建的,与excel不同。所以呃... y'知道)。

    祝你好运!