Python dict.keys() 有密钥但表现得好像没有它

我要替换 Excel 中的大量值,因此我有一个包含数百个键的字典,但是当键具有斜杠 ( / ) 时,它不会输入 if。

正如你所看到的,我尝试使用 doble、//,并在之前添加 r 使其成为文字。

当我在 dict.keys() 中执行 is ("stringwith /slash") 时,我得到一个 True,但是当我运行程序时,它们会被跳过,就好像它们不存在一样。

import xlwt

import xlrd



dictForReplacement={}



for i in range(0,101):

    x = "Estigfend" + str(i) + str(i)+ " puntos de 100"

    dictForReplacement[x] = str(i)

    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Completada con retraso"

    dictForReplacement[x] = str(i)

    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Presentada de nuevo"

    dictForReplacement[x] = str(i)

    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Borrador"

    dictForReplacement[x] = str(i)    

    x = "Estigfend" + str(i) + str(i)+ " puntos de 100Sin entregar"

    dictForReplacement[x] = str(i)    

    x = "Estigfend" + str(i)+"/100" + str(i)+ " puntos de 100Sin entregar"

    dictForReplacement[x] = str(i)    

    x = "Estigfend" + str(i)+"/100" + str(i)+ " puntos de 100"

    dictForReplacement[x] = str(i)  


dictForReplacement[r"EstigfendSin entregar"] = "NP"




dictForReplacement["EstigfendTarea asignada"] = "TA"



#here is the problem, the number was in case I founded the solution


dictForReplacement[r"Estigfend /100Sin calificación"] = "NP 00"

dictForReplacement[r"Estigfend /100Sin calificación"] = "NC 0"

dictForReplacement["Estigfend //100Sin calificación"] = "NC 1"

dictForReplacement[r'Estigfend //100Sin calificaciónCompletada con retraso'] = "NC 2"

dictForReplacement['Estigfend /100Sin calificaciónCompletada con retraso'] = "NC 3"

dictForReplacement[r"Estigfend /100Sin calificaciónCompletada con retraso"] = "NC 4"

dictForReplacement[r"Estigfend /100Sin calificaciónBorrador"] = "NC 5"




dictForReplacement["Estigfend /100Sin calificación"] = "NP" 

这是我的代码,没有 Ktinder,因为它是一个 GUI,我知道这里不需要它


所以现在你也可以运行它。


edit4:接下来的3行错误我不知道如何在这里添加Excel文件,最大的问题是带有/的字符串,所以只需创建一个页面并有一个单元格:Estigfend /100Sin calificación


edit2:有人说Excel可能正在添加其他东西,我会调查一下


qq_遁去的一_1
浏览 51回答 1
1回答

青春有我

那是隐形人物!我的错误, dict.keys() 显然工作得很好,但是当打印没有键的值时(当我知道我有所有可能的选项作为键时),我看到它们看起来就像我的键,但它们不是由于看不见的字符,情况不一样!我更改了部分代码以获取所有错误值的列表,使用 else,然后在此列表的 for 中应用 print(repr(value)) 来查看不可见字符并看到了这个:所以我的 Excel 很奇怪,这做到了dictForReplacement[r"Estigfend\xa0/100Sin calificación"] = "NP"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python