0

我是python的新手我想要的是能够打印我拥有的文件的内容..

土豆泥,上面有这个和那个............ 9.99$

相似地

产品名称,描述......................价格

当我将它与仅包含 Product_names 的文件匹配时

土豆泥

过去的

凯撒沙拉

等等等等

第一个文件的内容没有统一的顺序,所以这就是我尝试使用搜索、匹配和打印方法的原因

我希望你能理解我的问题

这是我尝试过的

     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 的索引而不是描述和价格..

我想要的是从 Product_name 到 price 的索引/跨度..

喜欢土豆泥 ---- 9.99$( 土豆泥 - [0:58]),,m 刚刚得到 [0:14]

以及使用相同方法打印描述和价格的任何方式

提前致谢

4

1 回答 1

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
于 2012-05-18T09:05:59.517 回答