Database-Recommendation

將巨大的 ASCII 文件轉換為平面文件並轉換

  • October 21, 2014

我不是數據庫管理員,但我想在這裡問這個問題。

我有幾個非常大的 ASCII 文件(每個 3-5GB),我需要提取數據然後對其進行排序。說明說“將 zip 文件提取為平面文件”,然後“創建一個程序將該平面文件轉換為客戶選擇使用的任何應用程序”。

我不確定這是否容易做到,或者我是否應該聘請數據庫專家來做這件事。我熟悉 SQL 的基本工作原理,但可能足以惹上麻煩。

到目前為止,我使用了一種叫做 gVim 的東西來查看文件,但是除了空格之外,它們沒有以任何方式分隔。

有人可以給我建議嗎?謝謝!

當使用數據庫對數據進行排序時,需要知道數據的結構。換句話說,必須有一個欄位分隔符和一個行分隔符。然後,您可以將文件導入 SQL 表並對其進行索引並按照您想要的方式對其進行排序。使用任何數據庫引擎提供的工具(例如 SQL Server Integration Services (SSIS) 或 MySQL LOAD)可以輕鬆導入平面文件。

找出文件結構和分隔符的一種快速方法是使用具有數據導入功能的桌面應用程序。MS Excel 適用於較小的文件,但我發現 MS Access 適用於較大的文件,並且具有建議合適的數據類型的優勢,這些數據類型可以稍後移植到 SQL Server。您可以在兩個嚮導中切換分隔符選項以查看如何解析文件。

一種遙遠的可能性是文件是固定寬度的,因此值在特定列位置開始和結束。例如,名字可以在一行的前 15 個字元中,而姓氏可以是從位置 #16 開始的 15 個字元。由於您看到的空格,空格可能是實際的分隔符。目視檢查將是確認這一點的方法。

引用自:https://dba.stackexchange.com/questions/80158