从txt中提取前面有单词的数字。python中的文件
我试图从一个国家名称后的单独文件中提取特定数字。代码似乎没有显示任何输入,我几乎不知道我在做什么 它显示了产出,但仅显示了没有预期寿命数据或基尼数据的其他数据 下面是我从中提取的文件的一个示例从txt中提取前面有单词的数字。python中的文件,python,file,extraction,Python,File,Extraction,我试图从一个国家名称后的单独文件中提取特定数字。代码似乎没有显示任何输入,我几乎不知道我在做什么 它显示了产出,但仅显示了没有预期寿命数据或基尼数据的其他数据 下面是我从中提取的文件的一个示例 1: Lesotho :63.2 2: South Africa
1: Lesotho :63.2
2: South Africa :62.5
3: Central African Republic :61.3
4: Micronesia, Federated States of :61.1
5: Haiti :60.8
这是我到目前为止的代码
country = []
info = []
def countryFinder(fileName,info):
infile = open(fileName, "r")
line = infile.readline()
for line in infile:
fields = line.split(":")
country.append(fields[1].strip())
info.append(fields[2].strip())
return country, info
userCountry = input("Please enter a country (\"q to quit\"): ")
life = countryFinder("life.txt",info)
gini = countryFinder("gini.txt",info)
while userCountry != "q":
if userCountry in life:
print (" Life Expectancy is ",life[info]," years at birth")
else:
print (" No Life Expectancy Data")
if userCountry in gini:
print (" Gini Value is ",gini[info])
else:
print (" No Gini Data")
userCountry = input("Please enter a country (\"q to quit\"): ")
软件:spyder与python 3.6您已经编写了一个好代码,只是在这里和那里遗漏了一些行。我已经标记了你遗漏的行#
你的意思是代码不显示任何输出吗?另外,1)指出您使用的是哪一版本的python 2)此脚本编译还是收到错误消息?您是否检查了变量中的值以及代码中的不同点,以验证值是否符合预期?您可以设置一些测试断言案例。例如,函数中的country是否应该是country=fields[1]?@QHarr它显示输出,但仅显示其他输出,其中表示没有预期寿命数据或没有基尼数据,并且我将spyder与python 3.6一起使用。这似乎不起作用,它会出现“TypeError:Unhable type:‘list’”请提供life.txt和gini.txt文件,我看看你怎么能链接一个文件?@Rad_Dad:我已经更新了解决方案。让我知道它现在是否有效。@Rad_爸爸,不客气!:)请别忘了把答案标为答案
country = []
info = []
dic = {} #
def countryFinder(fileName,info):
infile = open(fileName, "r")
line = infile.readline()
infile = open(fileName, "r").readlines() #
for line in infile:
line.strip()
fields = line.split(":")
fields = fields[1:3] #
country = fields[0]
country = country.strip() #
info = fields[1]
info = float(info.strip("\n")) #
dic[country] = info #
return dic.copy() #
country = input("Please enter a country (\"q to quit\"): ")
life = countryFinder("life.txt",info)
gini = countryFinder("gini.txt",info)
while country != "q":
info = life #
if country in info:
info = country #
print (" Life Expectancy is ",life[info]," years at birth")
else:
print (" No Life Expectancy Data")
info = gini #
if country in info:
info = country #
print (" Gini Value is ",gini[info])
else:
print (" No Gini Data")
country = input("Please enter a country (\"q to quit\"): ")