python
  • regex
  • python-3.x
  • python-3.5
  • pdf-scraping
  • 2016-03-14 2 views -1 likes 
    -1
    def match_text(raw_data_file, concentration): 
        file = open(raw_data_file, 'r') 
        lines = "" 
        print("Testing") 
        for num, line in enumerate(file.readlines(), 0): 
         w = ' WITH A CONCENTRATION IN ' + concentration 
         if re.search(w, line): 
          for i in range(0, 6): 
           lines += linecache.getline(raw_data_file, num+1) 
           try: 
            write(lines, "lines.txt") 
            print("Lines Data Created...") 
           except: 
            print("Could not print Line Data") 
         else: 
          print("Didn't Work") 
    

    Я пытаюсь открыть .txt-файл и найти определенную строку.Как найти определенную строку текста в текстовом файле с помощью python?

    +0

    Итак, где вы застряли? Не знаете, где вам нужна помощь. – Saleem

    +0

    Почему бы вам не добавить пример и показать, что работает, а что нет. – roadrunner66

    +0

    ну, приведенный выше пример не будет вводить оператор if, в принципе, я не могу заставить оператор if соответствовать шаблону, который я хочу, который является «w =« WITH A CONCENTRATION IN ... » –

    ответ

    0

    Исправлена ​​проблема с моей собственной проблемой. Следующее работает, чтобы найти определенную строку и получить строки, соответствующие согласованной строке.

     
    def match_text(raw_data_file, match_this_text): 
        w = match_this_text 
        lines = "" 
        with open(raw_data_file, 'r') as inF: 
         for line in inF: 
          if w in line: 
           lines += line //Will add the matched text to the lines string 
           for i in range(0, however_many_lines_after_matched_text): 
            lines += next(inF) 
           //do something with 'lines', which is final multiline text 
    

    Это будет возвращать несколько строк плюс согласованная строка, которую хочет пользователь. Прошу прощения, если этот вопрос был запутан.

    0

    Если вы просто пытаетесь написать все строки, содержащие вашу строку в файле, это будет сделано.

    def match_text(raw_data_file, concentration): 
        look_for = ' WITH A CONCENTRATION IN ' + concentration 
        with open(raw_data_file) as fin, open('lines.txt', 'w') as fout: 
         fout.writelines(line for line in fin if look_for in line) 
    
    +0

    Это работает, спасибо. Вопрос был сформулирован плохо с моей стороны. Я решил свою проблему. Был еще один шаг, который я искал. Спасибо. –

     Смежные вопросы

    • Нет связанных вопросов^_^