【问题标题】:Using the input of a user to search for a specific row in a excel file (python)使用用户的输入在 excel 文件中搜索特定行(python)
【发布时间】:2019-03-01 16:54:45
【问题描述】:

我目前正在制作一个程序来检查哪些用户登录到计算机上,然后根据登录的用户执行不同的操作。因为这是一直在使用“getpass”并且已经成功完成并且用户名是保存到名为“who”的变量中。这是我发现问题的地方,我希望能够在 excel 文件中搜索变量中的名称,并且只打印它所在的行。我该怎么做?

谢谢

【问题讨论】:

  • 欢迎来到 StackOverflow!在这里我们不只是写代码,我们帮助你解决问题,所以我强烈建议阅读How do I ask a good question?,然后提供一些你遇到的实际问题

标签: python excel csv


【解决方案1】:

您能否将 Excel 文件保存为 CSV 格式?如果是这样,您可以使用 Python 的 csv 模块来解析文件。

假设你可以得到保存为 CSV 格式的文件,名为 directory.csv,它看起来像这样:

first,last,login,phone
Chi,Kaso,ckaso,999-999-9999
Bob,McCormick,bobmac,888-888-8888
Mason,Builder,mbuilder,777-777-7777

下面是打开文件的代码,用 csv.reader 读取每一行,然后找到匹配的行:

import csv
user = 'mbuilder'
with open('directory.csv', mode='r', newline='') as dir_file:
    reader = csv.reader(dir_file)
    for row in reader:
            if row[2] == user:
                    print("Match:", row)
                    break

缺点是它逐行搜索文件,所以如果文件有数百万用户,它会很慢。

【讨论】:

  • 非常感谢,帮了大忙
猜你喜欢
  • 1970-01-01
  • 2017-04-14
  • 2018-11-27
  • 2015-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2019-03-21
相关资源
最近更新 更多