当前位置: 首页 > 知识库问答 >
问题:

Python,如何检查csv文档上是否重复了行的第一个元素

姜凯风
2023-03-14

我在python中做一个简单的密码管理器,用户需要输入平台、用户和密码。

我试图填充csv,以防它是因为csv是空的,我还将两个变量定义为一个列表。

在尝试检查输入平台是否已在csv文件中时,我不断收到一个错误。

这是代码的一部分:

if n=="1": 
        fo=open(reqfile,'r')
        data=csv.reader(fo)
        datatoread=list(data)
        while check==False:
            newline.append(input("introduce platform:").lower)
            for x in range(len(datatoread)-1):
                if newline[0]==datatoread[x[0]]:
                    print("You already setup an username and password for this platform, please change the platform")
                    
                    check=False
                else:
                    check=True

在append语句之后打印(换行)时的输出:

[

这就是我Rest的地方:

 fo=open(reqfile,'r')
 data=csv.reader(fo)
 datatoread=list(data)
 while check==False:
        newline.append(input("introduce platform:"))
        for x in range(len(datatoread)):
            print(newline)
            print(datatoread)
            if newline[0]==datatoread[x[0]]:
                print("You already setup an username and password for this platform, please change the name of the platform")
                check=False
                newline.pop()
                break
            else:
                check=True
            break

输出为:

['youtube']

[['平台','用户名','密码']]

也有同样的错误

错误:

File"/PassMan.py",第27行,在if newline[0]==datatoread[x[0]]中:TypeError:'int'对象不可下标

如果您需要所有代码,我的github repo:https://github.com/DavidGarciaRicou/PasswordManagerPython

共有2个答案

曾华翰
2023-03-14

谢谢大家的帮助。

我解决了这个代码的问题,仍然不知道我做错了什么:

    while check==False:
        newline.append(input("Introduce platform:"))
            
        for x in range(0,len(datatoread)):
            platcheck=datatoread[x]
            plattochk=platcheck[0]
            if newline[0]==plattochk:
                print("You already setup an username and password for this platform, please change the name of the platform")
                check=False
                newline.pop()
                break
        try:
            if newline[0]!=plattochk:
                check=True
        except:
            pass
    fo.close
公冶经纶
2023-03-14

我建议你使用熊猫读写你的CSV文件。我相信它会帮助你处理这种文件类型。

 类似资料:
  • 问题内容: 我有两个div元素。他们每个人都有450px的宽度和高度。如何检查第一个div是否与第二个div重叠? 我尝试使用javascript hittest,但是有点复杂。由于我试图找出其实际工作方式,因此我想从一个简单的代码开始。 我发现可以使用 .getClientRects 来获取元素的边界,但是我不确定如何比较边界。 请给我提意见! 问题答案: 类似这样的东西,并通过getBound

  • 我正在尝试为一种相对简单但特殊的语言编写解析器。 简单地说,其中一条规则是,只有当星号是行的第一个字符时,注释行才由星号表示。我如何在ANTLR4中正式制定这样的规则?我考虑使用: 但我确信这不会在一行中使用多个行注释,因为末尾的换行符将作为标记的一部分使用,这意味着任何后续的注释行都将缺少所需的初始换行符,这将不起作用。有没有一种方法可以检查该行是否以开头,而无需使用之前的?

  • 在python中,如何检查字符串是否是字符串列表中的元素? 我正在处理的示例数据是: 那么为什么下面代码的结果是"False":

  • 我正在通过创建一个验证工具来验证一个PDF文档。我如何检查文档是否启用了LTV?此外,如果启用了它的ltv,我如何从文档本身获得嵌入的OCSP响应/嵌入的CRL响应。

  • 我有一对夫妇的变量,我想保存或不保存到数据库取决于是否我已经设置为隐藏/可见的javascript函数,我已经搜索了一段时间,但找不到任何东西。谢谢!

  • 我有一个简单的核心java问题。我有一个包含多个响应代码的列表。我根据列表中的响应代码返回消息。对于其中一个场景,我必须检查列表中是否包含任何一个响应代码。我用以下方法完成了它,但它忽略了它,代码转到else块。因此,如果代码是ES03或ES04或其中任何一个,我希望填充emailValidationMessage变量,但它不这样做。 谢谢