我在工作中遇到了一個問題,需要我在PostgreSQL數據庫中插入一些MASSIVE製表符分隔值文件(將8-15 GB的.txt文件考慮在內),但是我數據格式化的方式首先遇到了問題。基本上,我們獲得數據的方式(不幸的是我們無法以更好的格式獲取數據),出現一些反斜槓並導致返回/換行。從製表符分隔的值中刪除某些返回字符文件
所以,有幾行(數據行,tab-delim)被切分成多行,其中第n行的最後一個字符是\,並且第n + 1行的第一個字符是一個製表符。通常n行會被分成1-3行(例如,行n以「\」結尾,行n + 1和n + 2以製表符開頭並以「\」結尾,行n + 3開始帶有一個標籤)。
我需要編寫一個腳本,可以與這些巨大的文件(這將運行在具有192 GB的RAM的Linux服務器上運行)尋找以製表符開頭的行,然後刪除返回(和「 \「無論它存在於何處)並保存文本文件。
回顧一下,客戶的日誌記錄程序將原始行N拆分爲行n,n + 1,有時n + 2和n + 3(具體取決於行N中出現多少個\字符),我需要寫一個python腳本來重建原始的線N.
發佈一個小樣本,其中包含任何敏感的編輯內容。預期的投入和產出是說明這種問題的好方法。 – MattH 2012-07-10 14:28:39