2017-09-13 55 views
1

我正在使用我見過的最瘋狂的文件格式。它是固定的寬度,並且包含多個記錄類型(從每個行可能具有不同的列和寬度的意義上說)。有一個文件頭,預告片,然後是一個靜態數量的行,當它們組成一個記錄時。我遇到的問題是行中沒有任何內容告訴你它們屬於同一條記錄,而不是它們的排序順序和行號屬性。將固定寬度文件源中的多行合併爲一行

例子:

001 David   Wellingsworth Mr. 
002 312-555-5555  3060 W Maple St.   Chicago 
001 Jimothy  Bogendath  Dr. 
002 563-555-5432  123 Main St.    Davenport 

所以我的問題是:是否有可能,不使用腳本組件,來處理這樣的文件嗎?我理解如何處理固定寬度文件中的不同記錄類型(使用條件分割和子字符串)的基本概念,但是我無法過去如何在分割後合併所有這些數據(如果行不有標識符。

如果有幫助,我的問題基本上是this previous question,但相反。

回答

1

可能,但有一些工作。我已經使用過這些數據,這是我們如何解決它們的方法。

  1. 您將需要建立一個表,這將讓他們擁有自己獨特的recordId
  2. 創建一個表爲您的文件登錄您的文件名和獨特的fileid
  3. 鏈接你的fileid到的recordId讓你知道該文件中的每條記錄從
  4. 構建來到鏈接到每一個獨特的recordId

建立你的表這樣所有的子表給你:

  1. 每行的唯一recordID(雖然文件中可能有重複,但在表中它們是唯一的)。
  2. 瞭解每個記錄來自哪個文件。
+0

謝謝你的想法!然而,爲了澄清,只有一個文件,它只是在同一個文件的多個行中分佈的多個記錄。在我上面的例子中,有兩個單獨的記錄。 – GotDibbs

+0

沒錯。是否採用一個或多個文件相同的方法。由於每個人都沒有SSN或唯一的ID,每個記錄應該有自己的RecordID。然後,您可以根據其合格數據鏈接所有相同的記錄。無論是名稱,地址等。 – Isaiah3015

+0

每條記錄​​目前都有一個ID,但它只在第一行數據上提供。後面的行沒有任何屬性可以讓我們知道它們與第一行相關聯,超出了它們在第一行之後。我想我對如何將數據放入表格首先感到困惑,以便能夠爲輸出中的每個相關行分配一個ID,以便稍後將它們組合成一條記錄。 – GotDibbs

相關問題