我有一个文本文件,该文件的字符串带有字母(以“ A”开头,被分配给一个随机国家)。我从文本文件中导入该行,以与我的代码一起使用,那里有国家和地区清单。我将字符串剥离,以便留下国家(地区),然后希望能够在创建的列表列表中的字符串中找到国家(地区)。问题是,当我运行for循环以在列表列表中的字符串中查找国家/地区的名称时,每个初级列表中都有国家/地区的名称,GDP和汇率,for循环会运行并且无法即使它们是相同的类型和相同的拼写,也可以在字符串中找到国家。让我在下面发布我的代码并输出。
当我创建txt文件或csv文件时,这就是我所使用的:
f = open("otrasvariables2020.txt", "w")
f.write(str(mis_letras_paises) + "\n")
f.write(str(mis_paises) + "\n") #(This is the string I need)
f.write(str(mis_poblaciones) + "\n")
f.close() #to be ready to use it later
让我发布一些输出。
import linecache
with open("otrasvariables2020.txt") as otras_variables:
mis_paises = (linecache.getline("otrasvariables2020.txt",2))
#Here I get the line of text I need, I clean the string and create a
#list with 5 countries.
lista_mis_paises = mis_paises.translate({ord(i): None for i \
in "[]-\'"}).split(", ")
for i in lista_mis_paises:
if "\n" in i:
print(i)
i.replace("\n", "")
for i in lista_mis_paises:
if len(i) <= 2:
lista_mis_paises.pop(lista_mis_paises.index(i))
问题的最后部分:因此,最终,我想要在数组中找到我从文本文件导入的列表/字符串中国家的初级列表。找到该初级列表后,便可以在其中使用费率和其他值进行计算。任何想法有什么问题吗?结果应为以下内容:在列表列表中应找到阿富汗和其他4个国家,对阿富汗而言,这恰好是第一项,因此我现在应该能够创建另一个列表,但只需列出5个个国家,而不是我最初使用的185个国家。
如果您担心的是要删除不想使用的特殊字符,我会做类似的事情:
countries = linecache.getline("otrasvariables2020.txt",2).strip('[]-\'"').rstrip('\n').split(', ')
注意:with open("otrasvariables2020.txt") as otras_variables:
未在您上面共享的代码中使用,因此可以将其删除。
希望有帮助。