我想从一个巨大的文本文件中提取一个名为“ Visual Impairment”的关键字。我知道这可能是一个很小的问题,但是我对Python还是很陌生,所以请帮助:)
文本文件的示例: {'感觉与交流':{'视觉障碍':'否','听力障碍':'是轻度','沟通':'言语'}
我希望它为'No = 0'并且输出为
Visual Impairment: 0
我的代码现在是
file_path ='C:\\Users\L31308\Desktop\\IFA.txt'
with open(file_path,'r') as f:
data = f.read()
def sensoryAndCommunication(visualImpairment, hearingImpairment, communication):
if visualImpairment == 'Visual Impairment':
if visualImpairment == 'No':
visualImpairment = 0
print("Visual Impairment" + visualImpairment)
答案 0 :(得分:0)
您的代码到处都是。除了注释中前面提到的缩进问题之外,您的功能没有多大意义。您要先检查if visualImpairment == 'Visual Impairment':
,然后再检查if visualImpairment == 'No':
,变量不可能有两个不同的值。除此之外,您甚至没有使用读取的数据来提取信息。似乎您对它的完成方式有些困惑。
1-看来您正在读取的文件是以JSON格式编写的,如果是这种情况,我认为您应该尝试解析文本以提取所需的信息。试试这个Link for a start或寻找其他教程
2-一旦学习了如何正确解析,就可以使用它来提取所需的信息,然后使用if条件检查该值是“是”还是“否”。
祝你好运
答案 1 :(得分:0)
似乎您正在尝试从文本文件读取json对象。如果是这种情况,则“ IFA.txt”中的json对象应采用以下格式:
{"Sensory and Communication":{"Visual Impairment":"No","Hearing Impairment":"YesMild","Communication":"YesVerbal"}}
请注意双引号。然后将很容易解析文件。遵循此so link,以便您获得清晰的图片。请尝试以下代码:
import json
with open('IFA.txt') as f:
json_data = json.load(f)
# in python single-quote and double-quote makes no difference
if json_data['Sensory and Communication']['Visual Impairment']=='No':
print json_data['Sensory and Communication']['Visual Impairment']