查询Excel表格并返回结果?用哪个程序?
我现在工作的公司最近让技术负责人整理一个电子表格,里面要列出每台电脑的名称,以及使用这台电脑的人的名字。这样,帮助台的工作人员在接到用户电话时,可以快速找到用户的名字,从而找到对应的电脑编号。
不过,我觉得这样做有点麻烦。我们大约有1000个用户,所以这个电子表格会让人觉得很烦。我想,做一个简单的程序可能更好,程序可以问你用户的名字,你输入后,它就能返回电脑编号。
我想这个程序可以参考这个电子表格,然后返回你的信息。当然,它不一定非得参考这个电子表格,也可以参考其他东西。
我只会用Python,还是因为我在大学上过一门入门课。不过,我在想用批处理文件会不会更好?或者有没有其他更好的选择?我把这个当作一个学习的机会,也想给我们的帮助台提供一个实用的工具,所以想请教一下大家的意见。:)
谢谢!
1 个回答
1
如果你打算用Python来处理Excel,有两种最常见的方法(还有其他方法,但这两种是最常用的):
使用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有点复杂(这是我的个人看法)。
如果你像我一样,喜欢用Python的方式来做事情,可以使用非常好用的xlrd库,这个库非常简单易用。
import xlrd book = xlrd.open_workbooks('Book1') sheet = book.sheet_by_name('Sheet1') sheel.col(1)
我就不再深入讲解了,你可以自己去摸索一下,实际上也没那么难。另外,如果你想要写入文件,你还需要一个叫做xlwt的库。
当然,还有第三种选择——把数据传到一个合适的数据库(SQLite就可以),然后用SQL查询来获取数据。如果你觉得速度和效率很重要,这将是最好的选择(SQL就是为了这个目的而创建的,而不是Excel,所以你懂的)。
祝你好运!