2016-08-15 57 views
-3

我有一些相當棘手的文件操作,我需要執行,但我與編碼相當糟糕,我立即難以忍受甚至從哪裏開始。任何幫助將是驚人的,所以提前感謝。最好在Shell或Python中,因爲它們是我粗略瞭解的語言,但是如果在另一種語言中有一個簡單的解決方案,我可以接受。複雜的文件/文本操作


我有2個巨大的文件,與相關的信息,但他們沒有正確與他們列排列,這使得它難以企及的數據。使事情更加複雜化的是,它們在小數點後有不同的值,儘管它只是小數點前的值,而這些值是有意義的。

所以我需要做的:

  • file1column1row1,卻忽略小數點後的所有值。

  • 閱讀file2和搜索column1取自file1的值,同時再次忽略小數點後的內容。

  • 一旦相關值在file2發現,這兩種線到一個新文件(file3)與所述數據的從它們各自的線路的其餘部分輸出。

這是第一步,如果有人能幫助我到達那裏,我會非常感激。下一步是對此過程應用一個循環,以便它移動到file1, line2並重復該過程。

+0

而不是居高臨下,你可以很容易地建議一個開始的地方。當你不知道你在做甚麼時,很難使用教程。感謝您的幫助。 – Vlad

+1

@Vlad:我建議**不要**在殼牌公司做。我個人會用Ruby寫它,但這只是我個人的偏好。 Python或Perl可以同樣做得很好。 – user1934428

回答

1

您需要比現在知道的更好地學習Python。這裏概述你需要做什麼。這種「文件操作」非常典型。

  1. 做一個正則表達式將從file1file2匹配線(或兩個正則表達式,如果文件不具有相同的格式)。包含在您的正則表達式中,用於捕獲對您很重要的組。
  2. 按行逐行閱讀file1
  3. 隨着每行被讀取,將其與您的正則表達式匹配,找到重要的組,並將它們存儲在散列中。
  4. 現在請逐行閱讀file2
  5. 隨着每行被讀取,將其與您的正則表達式匹配,找到重要的組,並搜索匹配的散列。
  6. 當您找到匹配項時,輸出到file3
  7. 回到4並重復。