Python在特定形式的新文件中查找txt文件中的字符串

时间:2014-01-16 12:36:45

标签: python string find text-files

我希望我的python程序在文本文件中搜索字符串的某些特定部分,并将它们写入新的文本文件。

我有一个这种形式的txt文件。 输入文本的文件:

… different text
… different text
… different text
*
    <http://webadress.com/test.jpg>
    *Part ID:* 1234567
    *Design ID:* 54321
    *Part Name:* Test Object x2
    *Category:* Objects
    *Colour:* Yellow
    … different text
    … different text
    … different text

  *
    <http://webadress.com/test2.jpg>
    *Part ID:* 1234566
    *Design ID:* 54322
    *Part Name:* Test Object v4
    *Category:* Objects
    *Colour:* Red
    ... different text
    … different text
    … different text
  *

And so on…

我希望以下列形式了解以下信息。

输出-文本文件:

[http; Part ID; Design ID; Part Name; Category; Colour]
[webadress.com/test.jpg; 1234567; 54321; Test Object x2; Objects; Yellow]
[webadress.com/test2.jpg; 1234566; 54322; Test Object v4; Objects; Red]
你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我会尝试提供一些一般性的建议。由于您的输入格式和输出格式似乎是某种专有(或至少非标准)格式(与XML,JSON,YAML,甚至CSV相反),您无法做其他事情。而不是自己实现这些格式。

我开始将输入文件格式解析为Python对象。看起来您的输入文件包含多个数据集,而每个数据集表示相同类型的数据,仅与其他值一起使用。定义一个表示此数据类型的类。该类的实例可以方便地存储输入数据的一个数据集。解析输入文件(使用Python强大的字符串方法甚至正则表达式来收集信息)并动态创建数据类的实例。您最终会得到一个包含输入数据的对象的列表。

在第二步中,遍历该对象列表并以所需格式编写输出文件。同样,您可能会大量使用Python的字符串操作/格式化/构造方法。

这种抽象将帮助您隔离问题的不同组成部分,并使解决方案易于理解,清洁,可维护。