2012-05-18 6 views
0

Я новичок в Python Что я хочу, чтобы иметь возможность распечатать содержимое файла у меня есть, как это ..Печать содержимого и индексную расположение одного файла путем сопоставления его с другим файлом с помощью питона

Пюре, увенчанный этим и что ...................... 9,99 $

аналогично

PRODUCT_NAME доступно, описание ......................... цена

, когда я сравнить его с файлом, содержащим Product_names только

картофельное пюре

Past

Цезарь Салат

т.д. и т.д.

Содержание первого файла не в едином порядке так вот почему я пытаюсь его поиск, сравнение и печати подход

Я надеюсь, вы понимаете, моя проблема

Это то, что я пытался

 import re 

     content_file = open('/Users/ashishyadav/Downloads/pdfminer-20110515/samples/te.txt',"r") 
     product_list = open('/Users/ashishyadav/Desktop/AQ/te.txt',"r") 
     output = open("output.txt" , "w") 
     line = content_file.read().lower().strip() 
     for prod in product_list: 
     for match in re.finditer(prod.lower().strip(), line): 
     s=match.start() 
     e=match.end() 
     print >>output, match.group(),"\t", 
     print >>output, '%d:%d' % (s, e),"\n", 

, что делает мой код он соответствует второму списку продуктов файл с полным содержанием файла, но дает мне только Индексная product_Names не описание и цена ..

что я хочу индекс/SPAN из PRODUCT_NAME цена ..

как с картофельным пюре ---- 9,99 $ (картофельное пюре - [0:58]) ,, м просто получать [0:14]

а также каким-либо образом, чтобы напечатать описание и цену, используя тот же подход

Спасибо заранее

ответ

1
  • Читать весь «второй файл» в множестве X.
  • Прочитайте «первый» файл построчно линия.
  • Для каждой строки извлеките деталь перед запятой.
  • Если эта часть находится в наборе X, распечатайте все, что угодно.

Сообщите мне, если это необходимо в python.

# Read the whole "second file" into a set X. 
with open('foo') as fp: 
    names = set(fp) 

# Read the "first" file line by line. 
with open('bar') as fp: 
    for line in fp: 

     # For each line, extract the part before the comma. 
     name = line.split(',')[0] 

     # If this part is in the set X, print whatever is desired. 
     if name in names: 
      print line 
+0

Ну Да вот что я пытаюсь do..I просто не нужна части перед запятой ... M уже получает в ITEM_NAMES и их индекс местоположение, когда я соответствую два files..What I хотите, чтобы получить полный контент, который является именем, описанием, prie с начальным индексом и конечной точкой полного содержимого продукта. Я надеюсь, что смогу объяснить .. – ashishashen

+0

Не могли бы вы написать пример кода или что-то, из чего я могу получить лучшую идею? как извлечь часть перед запятой и чем угодно? – ashishashen

+0

@ ashish.god5: Я до сих пор не понимаю, чего вы пытаетесь достичь здесь. Какова конечная цель? – georg