我正在为之工作的公司最近要求主管技术人员编制一份电子表格,其中列出了每个计算机名称,以及使用该计算机的人员。我们的想法是,帮助台可以打开此电子表格,因此当用户拨打电话时,他们可以找到他们的姓名及其相关的计算机编号。
然而,这对我来说似乎有点笨拙。我们有大约1000个用户,因此电子表格只是一个痛苦的imho。我认为有一个简单的程序可能会更容易询问用户的名字,你输入它,然后它返回计算机编号。
所以,我假设这个程序会引用这个电子表格,然后返回你的信息。当然,它不必引用电子表格,它可以引用其他内容。
我只对Python有经验,只是因为我上了大学的入门课程。但是,我认为批处理文件会更好?或者其他东西会更好吗?我认为这是一个学习的机会,也许可以为我们的服务台提供一个简洁的实用程序,并且只是在寻找建议。 :)
谢谢。
答案 0 :(得分:1)
如果你计划在excel上使用python,那么有两种方法(最常见,还有其他方法):
使用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有点混乱(至少我的意见)。
现在,如果您喜欢我,并且喜欢去pythonic,那么您可以使用非常好用的优秀xlrd library
import xlrd
book = xlrd.open_workbooks('Book1')
sheet = book.sheet_by_name('Sheet1')
sheel.col(1)
我不会深入研究。你必须自己解决这个问题,正如你所看到的那样,它太难了。另请注意,如果您还要写入文件,则需要另一个名为xlwt的库。
当然,还有第三种选择 - 将数据传递到适当的数据库(SQLite可能就足够了)并使用SQL查询来获取数据。这将是最快捷有效的方式,如果这对你很重要(SQL 是为了这个目的而创建的,与excel不同。所以呃... y'知道)。
祝你好运!