2016-11-18 66 views
-1

我有一個文本文件,填入下列內容:使用Python來提取一個文件字符串和整理

"": "<a href=\"#\" class=\"tree-title\" title=\"IP: 10.0.0.1\nHostname: hello1\nModel: 2901\nVersion: 1.1.1.1_80000\nState: Normal\">hello1(10.0.0.1)</a>" 
    }, 
    { 
    "": "<a href=\"#\" class=\"tree-title\" title=\"IP: 10.0.0.2\nHostname: hello2\nModel: 2911\nVersion: 1.1.1.1_80000\nState: Normal\">hello2 (10.0.0.2)</a>" 
    }, 
    { 
    "": "<a href=\"#\" class=\"tree-title\" title=\"IP: 10.0.0.3\nHostname: hello3\nModel: 2911\nVersion: 1.1.1.1_80000\nState: Normal\">hello3(10.0.0.3)</a>" 
    }, 
    { 

這不是正確的結構,因爲它是刮掉並傾倒到一個文本文件中。 有超過100個這樣的細分市場。 儘管看起來如此,頁面並不僅僅是html,因此我不能簡單地將數據作爲結構化表單提取。

現在我想用Python來提取hostname, Model numberIP address的有序列表。

所以看起來像新的線路如下:

hostname: hello1  Model No: 2901  IP address: 10.0.0.1<br> 
hostname: hello2  Model No: 2911  IP address: 10.0.0.2<br> 
hostname: hello3  Model No: 2911  IP address: 10.0.0.3 

但我努力尋找如何通過首先從第一部分提取必要的信息,那麼接下來等

做到這一點

任何建議將不勝感激。

+4

嘗試編碼。嘗試。 –

+0

我認爲你需要正則表達式的魔力。 [在Python中重新模塊](https://docs.python.org/2/library/re.html) – Ezio

回答

0

我不會完全回答這個問題,因爲您沒有向我們展示任何代碼。相反,我給你一些提示,這將有助於:

我會做到這一點:

  1. strip()遠離任何新行字符,並從文件
  2. 使用任何空間正則表達式來匹配你需要的組。你可以使用this one
  3. Regex101也有一個不同的語言生成所需的代碼的好方法,所以你會在一些自我處理後完成。 (但是,對於學習目的,我不推薦它)
  4. 調查re模塊並執行上述正則表達式。您可以read the docs

當然,你必須自己管理如何處理文件的打開,讀取它的內容,適用於所有上述和你喜歡的訂購數據。祝你好運。

Here's a starting point

相關問題