使用python和Excel构build一个简单的信息数据库

我正在使用python和excel工作一个简单的信息数据库,目前我有Excel工作簿(db.xlsx)包含一个工作表3列和x行。 栏目:( A:员工,B:密码,C:电子邮件)

python应用程序应该得到用户input(“员工姓名”),并在列A中searchinput的string(如果find),然后在列B和C中显示(“密码和电子邮件”)

例如:

excel文件数据:

A,B,C

员工,密码,电子邮件

john doe,12345,john@doe.com

Johanna doe,978765,johanna@doe.com

用户input:john doe

员工姓名:john doe – 密码:12345,电子邮箱:john@doe.com

我也希望应用程序要求我添加新的logging,如果员工的名字不在Excel文件中。

这是我写到目前为止,我不能继续编写代码的其余部分,因为我卡在search和显示数据部分。

from openpyxl import * wb = load_workbook('db.xlsx') sheet = wb.get_sheet_by_name('QA') q1 = raw_input('Enter Employee Name: ') for i in range(1, sheet.max_row): if sheet.cell(row=row, column=0).value == q1: for j in range(i, sheet.max_column): print (sheet.cell(row=i, column=j).value) 

您的帮助,慷慨赞赏。

更新:这是更改后的工作代码#if sheet.cell(row = row,column = 0).value == q1:如果sheet.cell(row = row,column = 1).value == q1:as Gordon13build议,谢谢

 from openpyxl import * wb = load_workbook('db.xlsx') sheet = wb.get_sheet_by_name('QA') while True: q1 = raw_input('Input: ') for row in range(1, sheet.max_row): if sheet.cell(row=row , column=1).value == str(q1): print sheet.cell(row=row, column=2).value print sheet.cell(row=row, column=3).value 

你能解释一下你在运行你的代码时看到了什么吗?

我想我看到你的循环索引有一个小问题,但我不能确定,除非你描述发生了什么

这是未经testing的,但我认为它应该更接近你想要的:

 from openpyxl import * wb = load_workbook('db.xlsx') sheet = wb.get_sheet_by_name('QA') q1 = raw_input('Enter Employee Name: ') for i in range(1, sheet.max_row): # changed 'row' to i if sheet.cell(row=i, column=0).value == q1: # changed i to 1 for j in range(1, sheet.max_column): print (sheet.cell(row=i, column=j).value)