如何通过省略某些不需要的元素来解析此txt文件?

时间:2014-10-05 00:17:21

标签: python parsing

我目前是一名实习公司的实习生。我被要求解析一些日志文件并仅包含有用的详细信息。

我所拥有的文件类似于:

- 只是一个与业务无关的示例文件 -

#Saturday Logs

#Item                  #NumberofItems   #Price
Glue                   2 bottles        $1.99
Pencil & Eraser pack   1                $2.45
Sharpener (M)          2                $3.99
-Omit-
Markers                2 packs          $4.44 -sale

我想要输出的内容如下所示:

Glue                   2 bottles        $1.99
Pencil & Eraser pack   1                $2.45
Sharpener (M)          2                $3.99
Markers                2 packs          $4.44 

然而,到目前为止我写的唯一代码是:

lines = file_input.readlines()

for line in lines:
    word = line.split()

我想尝试拆分我的单词数组中的字符串,以摆脱-omit-and -sale和文件的前几行,但我陷入困境,在这件事上经验非常有限。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

编写读取行的代码,然后跳过,如果第一个字符告诉您应忽略整行。该代码还会删除-sale等任何字符串。

这样的事情:

for line in open('myfile.dat'):
   if not line.rstrip():
      continue  # skip blank lines
   if line[0] in ('-', '#'):
      continue  # skip lines with these prefixes
   line = line.replace('-sale', '')
   print line,

(感谢Martijn Pieters的错误修复!)