如何使用Python从文本文件中提取某些关键字

时间:2018-10-18 02:39:29

标签: python

我想从一个巨大的文本文件中提取一个名为“ 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)

2 个答案:

答案 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']