我正在處理大型文本數據集,大小約爲1 GB(最小的文件大約有200萬行)。每行應該被分成許多列。我說假設爲,因爲有例外;而正常線路以\r\n
結尾,其中很多不正確地分成2到3線。快速多行正則表達式查找/替換 r和 n
假設有10列,每一行應該具有以下格式:
col_1 | col_2 | col_3 | ... | col_10\r\n
例外具有以下格式:
1. col_1 | col_2 | col_3 ...\n
... | col_10\r\n
2. col_1 | col_2 | col_3 ...\n
... | col_10\n
\r\n
什麼是糾正這些的最快方法異常?我使用正則表達式(^[^\r\n]*)\n
(替換爲$1
)在1000行的樣本上做了一個簡單的文本編輯器(TextMate,Mac上)的查找/替換,並且它完美地工作。但文本編輯器顯然無法處理大文件(> = 200萬行)。這些可以使用sed
或grep
(或在其他一些命令行工具中,甚至在Python中)使用等效的正則表達式完成,以及如何執行?
你的問題似乎對我很熟悉!我在我的例子中做的是我使用了分割(我使用Tcl),並計算獲得的元素數量,然後將兩行(或更多)添加到新文件中。我不知道如何在Python中做到這一點,但這是我使用的邏輯。 – Jerry